From 4c9492539ce7c457dd09e3107ac9bb1377c28dac Mon Sep 17 00:00:00 2001 From: Gehstock Date: Fri, 6 Dec 2019 17:12:04 +0100 Subject: [PATCH] New Release - Discs of Tron --- Arcade_MiST/Midway MCR 2/Journey.jpg | Bin 0 -> 24165 bytes .../Midway MCR 2/Journey_MiST/Journey.qpf | 30 + .../Midway MCR 2/Journey_MiST/Journey.qsf | 203 ++ .../Midway MCR 2/Journey_MiST/Journey.sdc | 134 ++ .../Midway MCR 2/Journey_MiST/README.txt | 320 +++ .../Journey_MiST/Snapshot/JOURNEY.ROM | Bin 57344 -> 122880 bytes .../Journey_MiST/Snapshot/Journey.rbf | Bin 335327 -> 312529 bytes .../Midway MCR 2/Journey_MiST/clean.bat | 37 + .../Journey_MiST/rtl/Journey_MiST.sv | 322 +++ .../Midway MCR 2/Journey_MiST/rtl/T80/T80.vhd | 1097 +++++++++ .../Journey_MiST/rtl/T80/T80_ALU.vhd | 371 +++ .../Journey_MiST/rtl/T80/T80_MCode.vhd | 2030 ++++++++++++++++ .../Journey_MiST/rtl/T80/T80_Pack.vhd | 220 ++ .../Journey_MiST/rtl/T80/T80_Reg.vhd | 116 + .../Journey_MiST/rtl/T80/T80se.vhd | 193 ++ .../Journey_MiST/rtl/YM2149_linmix_sep.vhd | 574 +++++ .../Journey_MiST/rtl/build_id.tcl | 35 + .../Journey_MiST/rtl/cmos_ram.vhd | 356 +++ .../Journey_MiST/rtl/ctc_controler.vhd | 106 + .../Journey_MiST/rtl/ctc_counter.vhd | 152 ++ .../Midway MCR 2/Journey_MiST/rtl/gen_ram.vhd | 84 + .../Midway MCR 2/Journey_MiST/rtl/journey.vhd | 868 +++++++ .../Journey_MiST/rtl/pll_mist.vhd | 397 ++++ .../rtl/rom/journey_bg_bits_1.vhd | 534 +++++ .../rtl/rom/journey_bg_bits_2.vhd | 534 +++++ .../Journey_MiST/rtl/rom/midssio_82s123.vhd | 24 + .../rtl/satans_hollow_sound_board.vhd | 537 +++++ .../Midway MCR 2/Journey_MiST/rtl/sdram.sv | 343 +++ Arcade_MiST/Midway MCR 2/Kozmik Kroozr.jpg | Bin 0 -> 13943 bytes .../Kozmik Kroozr_MiST/Kroozr.qpf | 30 + .../Kozmik Kroozr_MiST/Kroozr.qsf | 232 ++ .../Kozmik Kroozr_MiST/Kroozr.sdc | 134 ++ .../Kozmik Kroozr_MiST/README.txt | 321 +++ .../Snapshot/KROOZR.ROM | Bin .../Midway MCR 2/Kozmik Kroozr_MiST/clean.bat | 37 + .../Kozmik Kroozr_MiST/rtl/Kroozr_MiST.sv | 324 +++ .../rtl/YM2149_linmix_sep.vhd | 574 +++++ .../Kozmik Kroozr_MiST/rtl/build_id.tcl | 35 + .../Kozmik Kroozr_MiST/rtl/cmos_ram.vhd | 356 +++ .../Kozmik Kroozr_MiST/rtl/ctc_controler.vhd | 106 + .../Kozmik Kroozr_MiST/rtl/ctc_counter.vhd | 152 ++ .../Kozmik Kroozr_MiST/rtl/gen_ram.vhd | 84 + .../Kozmik Kroozr_MiST/rtl/pll_mist.vhd | 397 ++++ .../rtl/rom/kroozr_bg_bits_1.vhd | 534 +++++ .../rtl/rom/kroozr_bg_bits_2.vhd | 534 +++++ .../rtl/rom/kroozr_sp_bits.vhd | 2070 +++++++++++++++++ .../rtl/rom/midssio_82s123.vhd | 24 + .../Kozmik Kroozr_MiST/rtl/satans_hollow.vhd | 889 +++++++ .../rtl/satans_hollow_sound_board.vhd | 541 +++++ .../Kozmik Kroozr_MiST/rtl/sdram.sv | 323 +++ .../Kroozr_MiST/Snapshot/Kroozr.rbf | Bin 323421 -> 0 bytes Arcade_MiST/Midway MCR 2/Wacko.jpg | Bin 0 -> 44757 bytes Arcade_MiST/Midway MCR 3/Discs of Tron.jpg | Bin 0 -> 51824 bytes .../Discs of Tron_MiST/DiscsOfTron.qpf | 30 + .../Discs of Tron_MiST/DiscsOfTron.qsf | 241 ++ .../Discs of Tron_MiST/DiscsOfTron.sdc | 134 ++ .../Discs of Tron_MiST/README.txt | 323 +++ .../Release}/DOTRON.ROM | Bin 73728 -> 139264 bytes .../Release/DiscsOfTron.rbf | Bin 0 -> 307583 bytes .../Midway MCR 3/Discs of Tron_MiST/clean.bat | 15 + .../Discs of Tron_MiST/rtl/DiscsOfTron.vhd | 987 ++++++++ .../rtl/DiscsOfTron_MiST.sv | 333 +++ .../rtl/YM2149_linmix_sep.vhd | 574 +++++ .../Discs of Tron_MiST/rtl/build_id.tcl | 35 + .../Discs of Tron_MiST/rtl/cmos_ram.vhd | 356 +++ .../Discs of Tron_MiST/rtl/ctc_controler.vhd | 106 + .../Discs of Tron_MiST/rtl/ctc_counter.vhd | 152 ++ .../Discs of Tron_MiST/rtl/gen_ram.vhd | 84 + .../Discs of Tron_MiST/rtl/pll_mist.vhd | 397 ++++ .../rtl/rom/dotron_bg_bits_1.vhd | 534 +++++ .../rtl/rom/dotron_bg_bits_2.vhd | 534 +++++ .../rtl/rom/midssio_82s123.vhd | 24 + .../Discs of Tron_MiST/rtl/sdram.sv | 343 +++ .../rtl/tapper_sound_board.vhd | 556 +++++ .../DisksofTron_MiST/Snapshot/DoTron.rbf | Bin 319173 -> 0 bytes Arcade_MiST/README.txt | 5 + 76 files changed, 23077 insertions(+) create mode 100644 Arcade_MiST/Midway MCR 2/Journey.jpg create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/Journey.qpf create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/Journey.qsf create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/Journey.sdc create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/README.txt create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/clean.bat create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/Journey_MiST.sv create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80_ALU.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80_MCode.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80_Pack.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80_Reg.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80se.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/YM2149_linmix_sep.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/build_id.tcl create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/cmos_ram.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/ctc_controler.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/ctc_counter.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/gen_ram.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/journey.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/pll_mist.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/rom/journey_bg_bits_1.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/rom/journey_bg_bits_2.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/rom/midssio_82s123.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/satans_hollow_sound_board.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/sdram.sv create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr.jpg create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/Kroozr.qpf create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/Kroozr.qsf create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/Kroozr.sdc create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/README.txt rename Arcade_MiST/Midway MCR 2/{Kroozr_MiST => Kozmik Kroozr_MiST}/Snapshot/KROOZR.ROM (100%) create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/clean.bat create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/Kroozr_MiST.sv create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/YM2149_linmix_sep.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/build_id.tcl create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/cmos_ram.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/ctc_controler.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/ctc_counter.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/gen_ram.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/pll_mist.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/rom/kroozr_bg_bits_1.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/rom/kroozr_bg_bits_2.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/rom/kroozr_sp_bits.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/rom/midssio_82s123.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/satans_hollow.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/satans_hollow_sound_board.vhd create mode 100644 Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/sdram.sv delete mode 100644 Arcade_MiST/Midway MCR 2/Kroozr_MiST/Snapshot/Kroozr.rbf create mode 100644 Arcade_MiST/Midway MCR 2/Wacko.jpg create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron.jpg create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/DiscsOfTron.qpf create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/DiscsOfTron.qsf create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/DiscsOfTron.sdc create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/README.txt rename Arcade_MiST/Midway MCR 3/{DisksofTron_MiST/Snapshot => Discs of Tron_MiST/Release}/DOTRON.ROM (52%) create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/Release/DiscsOfTron.rbf create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/clean.bat create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/DiscsOfTron.vhd create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/DiscsOfTron_MiST.sv create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/YM2149_linmix_sep.vhd create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/build_id.tcl create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/cmos_ram.vhd create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/ctc_controler.vhd create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/ctc_counter.vhd create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/gen_ram.vhd create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/pll_mist.vhd create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/rom/dotron_bg_bits_1.vhd create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/rom/dotron_bg_bits_2.vhd create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/rom/midssio_82s123.vhd create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/sdram.sv create mode 100644 Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/tapper_sound_board.vhd delete mode 100644 Arcade_MiST/Midway MCR 3/DisksofTron_MiST/Snapshot/DoTron.rbf diff --git a/Arcade_MiST/Midway MCR 2/Journey.jpg b/Arcade_MiST/Midway MCR 2/Journey.jpg new file mode 100644 index 0000000000000000000000000000000000000000..166fc2d537db6866ac60a6a9b34421b99ed20226 GIT binary patch literal 24165 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 z%0A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 g`J|={uzwYG$zVXxDy{Xu7U} each bg tile is 16x16 pixel but +-- background graphics is 2x2 pixels defintion. +-- +-- Sprite are 32x32 pixels with 1x1 pixel definition, 16 lines for odd 1/2 +-- frame and 16 lines for even 2/2 frame thanks to V8 on sprite rom ROMAD2 +-- (look at 74ls86 G1 pin 9 on video genration board schematics) +-- +-- *H and V stand for Horizontal en Vertical counter (Hcnt, Vcnt in VHDL code) +-- +-- /!\ For VHDL port interlaced video mode is replaced with progressive video +-- mode. +-- +-- 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 +-- buffer is access by transfer address counter during 2 scanlines after +-- visible area and only by sprite machine during visible area. +-- +-- Thus cpu can read and update sprites position during entire frame except +-- during 2 lines. +-- +-- Sprite data are organised (as seen by cpu F000-F1FF) into 128 * 4bytes. +-- bytes #1 : Vertical position +-- bytes #2 : code and attribute +-- bytes #3 : Horizontal position +-- bytes #4 : not used +-- +-- 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 +-- by hardware signal line 493. channel 0 to 2 are in timer mode. Schematic +-- 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 ; +; 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 ; +; 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 pins ; 105 / 360 ( 29 % ) ; +; Total virtual pins ; 0 ; +; Total memory bits ; 700,416 / 1,677,312 ( 42 % ) ; +; 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_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/T80_Reg.vhd +rtl_T80_304/T80_Pack.vhd +rtl_T80_304/T80_MCode.vhd +rtl_T80_304/T80_ALU.vhd +rtl_T80_304/T80.vhd + +rtl_dar/kbd_joystick.vhd Keyboard key to player/coin input +rtl_dar/io_ps2_keyboard.vhd Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +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/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/kick_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 + +----------------------------- +Required ROMs (Not included) +----------------------------- +You need the following 17 ROMs binary files from kick.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 + +2600a-v2.1e CRC 2c5d6b55 +2700b-v2.1d CRC 565ea97d +2800c-v2.1b CRC f3be56a1 +2900d-v2.1a CRC 77da795e + +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 + +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. + +Source code of make_vhdl_prom.c is also delivered. + +--------------------------------- +Compiling for de10_lite +--------------------------------- +You can build the project with ROM image embeded in the sof file. +*DO NOT REDISTRIBUTE THESE FILES* + +3 steps + + - put the VHDL ROM files (.vhd) into the rtl_dar/proms directory + - build kick_de10_lite + - program kick_de10_lite.sof + +------------------------ +------------------------ +End of file +------------------------ diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/Snapshot/JOURNEY.ROM b/Arcade_MiST/Midway MCR 2/Journey_MiST/Snapshot/JOURNEY.ROM index 69c49b392cd8babf805435c5b417f6cf89cce62e..ec77e4fcad459ad72057e50f8f48f18e0dfd3e53 100644 GIT binary patch delta 56426 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

vN915X5eIMn4%F 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

Ud8CJWSGMUd{ui+O_ZTj@SYY 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%0A5NB~g=WpeoCNAvy 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%0DDC~dX1Y>apySmPu+m)K)SD~B-{lVV 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

k?nKH4 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 Q1EahlC0}md{in3>FW+7WApigX diff --git a/Arcade_MiST/Midway MCR 2/Wacko.jpg b/Arcade_MiST/Midway MCR 2/Wacko.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b5c7834e389308c37661115d9e9ae3fc6bc3e61f GIT binary patch literal 44757 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 each bg tile is 16x16 pixel but +-- background graphics is 2x2 pixels defintion. +-- +-- Sprite are 32x32 pixels with 1x1 pixel definition, 16 lines for odd 1/2 +-- frame and 16 lines for even 2/2 frame thanks to V8 on sprite rom ROMAD2 +-- (look at 74ls86 G1 pin 9 on video genration board schematics) +-- +-- *H and V stand for Horizontal en Vertical counter (Hcnt, Vcnt in VHDL code) +-- +-- /!\ 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 +-- buffer is access by transfer address counter during 2 scanlines after +-- visible area and only by sprite machine during visible area. +-- +-- Thus cpu can read and update sprites position during entire frame except +-- during 2 lines. +-- +-- Sprite data are organised (as seen by cpu F000-F1FF) into 128 * 4bytes. +-- bytes #1 : Vertical position +-- bytes #2 : code and attribute +-- bytes #3 : Horizontal position +-- bytes #4 : not used +-- +-- 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 +-- by hardware signal line 493. channel 0 to 2 are in timer mode. Schematic +-- show zc/to of channel 0 connected to clk/trg of channel 1. This seems to be +-- unsued for that (Kick) game. +-- +-- 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. +-- +-- 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. +-- +--------------------------------------------------------------------------------- + + /!\ /!\ HALF SIZE SPRITE ROM /!\ /!\ + +Full size sprite rom would required more room or external ram + ++----------------------------------------------------------------------------------+ +; Fitter Summary ; ++------------------------------------+---------------------------------------------+ +; Fitter Status ; Successful - Fri Nov 22 17:33:36 2019 ; +; Quartus Prime Version ; 18.1.0 Build 625 09/12/2018 SJ Lite Edition ; +; Revision Name ; timber_de10_lite ; +; Top-level Entity Name ; timber_de10_lite ; +; Family ; MAX 10 ; +; Device ; 10M50DAF484C6GES ; +; Timing Models ; Preliminary ; +; Total logic elements ; 6,779 / 49,760 ( 14 % ) ; +; Total combinational functions ; 6,540 / 49,760 ( 13 % ) ; +; Dedicated logic registers ; 1,724 / 49,760 ( 3 % ) ; +; Total registers ; 1724 ; +; Total pins ; 105 / 360 ( 29 % ) ; +; Total virtual pins ; 0 ; +; Total memory bits ; 1,399,360 / 1,677,312 ( 83 % ) <-- WITH HALF SIZE SPRITE ROM ONLY +; 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/timber_de10_lite.vhd Top level for de10_lite board +rtl_dar/timber.vhd Main CPU and video boards logic +rtl_dar/timber_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/T80_Reg.vhd +rtl_T80_304/T80_Pack.vhd +rtl_T80_304/T80_MCode.vhd +rtl_T80_304/T80_ALU.vhd +rtl_T80_304/T80.vhd + +rtl_dar/kbd_joystick.vhd Keyboard key to player/coin input +rtl_dar/io_ps2_keyboard.vhd Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +rtl_dar/gen_ram.vhd Generic RAM (Peter Wendrich + DAR Modification) +rtl_dar/decodeur_7_seg.vhd 7 segments display decoder + +rtl_dar/proms/timber_cpu.vhd CPU board PROMS +rtl_dar/proms/timber_bg_bits_2.vhd +rtl_dar/proms/timber_bg_bits_1.vhd + +rtl_dar/proms/timber_sp_bits.vhd Video board PROMS + +rtl_dar/proms/timber_sound_cpu.vhd Sound board PROMS +rtl_dar/proms/midssio_82s123.vhd + +---------------------- +Quartus project files +---------------------- +de10_lite/timber_de10_lite.sdc Timequest constraints file +de10_lite/timber_de10_lite.qsf de10_lite settings (files,pins...) +de10_lite/timber_de10_lite.qpf de10_lite project + +----------------------------- +Required ROMs (Not included) +----------------------------- +You need the following 18 ROMs binary files from timber.zip and midssio.zip(MAME) + +timpg0.bin CRC 377032ab +timpg1.bin CRC fd772836 +timpg2.bin CRC 632989f9 +timpg3.bin CRC dae8a0dc + +tima7.bin CRC c615dc3e +tima8.bin CRC 83841c87 +tima9.bin CRC 22bcdcd3 + +timbg1.bin CRC b1cb2651 +timbg0.bin CRC 2ae352c4 + +timfg1.bin CRC 81de4a73 +timfg0.bin CRC 7f3a4f59 +timfg3.bin CRC 37c03272 +timfg2.bin CRC e2c2885c +timfg5.bin CRC eb636216 +timfg4.bin CRC b7105eb7 +timfg7.bin CRC d9c27475 +timfg6.bin CRC 244778e8 + +midssio_82s123.12d CRC e1281ee9 + +------ +Tools +------ +You need to build vhdl files from the binary file : + - Unzip the roms file in the tools/timber_unzip directory + - Double click (execute) the script tools/make_timber_proms.bat to get the following 6 files + +timber_cpu.vhd +timber_sound_cpu.vhd +timber_bg_bits_1.vhd +timber_bg_bits_2.vhd +timber_sp_bits.vhd +midssio_82s123.vhd + + +*DO NOT REDISTRIBUTE THESE FILES* + +VHDL files are needed to compile and include roms into the project + +The script make_timber_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. + +--------------------------------- +Compiling for de10_lite +--------------------------------- +You can build the project with ROM image embeded in the sof file. +*DO NOT REDISTRIBUTE THESE FILES* + +3 steps + + - put the VHDL ROM files (.vhd) into the rtl_dar/proms directory + - build timber_de10_lite + - program timber_de10_lite.sof + +------------------------ +------------------------ +End of file +------------------------ diff --git a/Arcade_MiST/Midway MCR 3/DisksofTron_MiST/Snapshot/DOTRON.ROM b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/Release/DOTRON.ROM similarity index 52% rename from Arcade_MiST/Midway MCR 3/DisksofTron_MiST/Snapshot/DOTRON.ROM rename to Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/Release/DOTRON.ROM index 7551c10cec1d02e53b3a9b965d747a860a330328..e3bbc3cae24035a41c028a2928903bc0088048f3 100644 GIT binary patch delta 46647 zcmc(|e{5XWmFIb>QdNl(OJun$J4{>(L$#b_6G=rCvkiC$!kX zwlbsiBIP#J9Bbn)|1%h4J3z=S^ahmlr1}6@3p@?_s6;Cp8NCNd*7+2Cl_`;xv=ZWf7drs z`$NrL@pFiKv02bVVrVmu1Tgj{*IZiMkt3atEjOA zib%Kynq<$RxzH4l9#q3ZN|aFiEs&>nh%3-XOmA{lvp=4W#;axP2})xtcx> z^mhZG$4S^2knUNkS#&c+#1tu5QKc9pUHXJNsf(mhHKERqJLRi`8W@lKiaQ3DL79xu z8uD@=3yMvEoDv9Dz*vY9TC4SQWE040I0lu-b=6;bbvdQHg#uC}Q=)sROcvyT+TK8R zk{AlzP+i86Jx1w5vy1|{ooHILi7|Ape|R1qxipxMAsun-eMHKEe$a>JYJuV7Rhw2GAUAB!PmV;bsU4HQ<}|JbnbVRn64;&b_ayt`VFY0UO{3K-1ttgS9?49t^wv#X3zqi$Bk}Xt-y=6`COv#|mL!edH^jCG1fR+bt~8 z7t}5c#u^Y0ag^ukUvqA5vEZ&f`!a)4_?64EO67wkFziZ(tZS@{xyCpnQzP}+CNdDx zDmk}5;~Es+AlM*yuhmtW#R0!{6HK%LpsVissHUH~DhEn*Z@@Bm#kzb3F26_>+yLD9 z>JVIwkbAp&sTU#?p>^Tef_u66vdfhK^}6(O(cRyA#@&Bm7&>NXtQTEl7+r&?LB_^W zrsxXHz6Ra~Nuur`>0Naq!95GK-Y|X*R<94MUNozrk9rMImjQIo;76(fsnqI&Rx8zv zCY*pI!9ze!wNdkkDn3e2LX$}%%R??XQFh6jih!1r#^xpz=Kl%(VXO}-Gug>lhG&BG zeaVm}t8w8mKj~JWQM^V&d0`=niy*xOg&ziT@wj+c{z$aZ>IAIl68#N(SWGxAuxj~P zny;QHy72_hrbN>%B~H2^f6`^@bir(a<%5-gE_S7QpDWEWX7e@1Ef2Mz#29Y4e3R}K z;LS#0$SYiRB|IJ~)lphED5a2di6W?h=1?MWvM^pMHfD$GE;n0uSro{YuDJlX5|hBd zSf2y=MhNuSMgf)!U%04k4=69l0qWikBS;g@mI5YFxWJjV{81xmbdt%i%38@R9U?;m zW&=qm;80M{4O>27bGBUAj3gk6n+S>i#=A=6M>xZEW;RCg+xSz!#vYUbZH$U26Se}N?XWQtPgKW63?@afFe%EYG>o+LY|0$U z8T6h|Vv;#I%$TgWG_{>@XYE;5krEG6d*vfd|GN#Ia%V*eq^WI1kvGq}*U};5Sqe~X z z(<3_RAIl$_BBa!BfM0{JN8!(fboYG3x%*G2h%q;Bf2Z7(Q5Ob73G>7uW%oIfC@1}z zoBDG-Q(trL^fVNtc0(&uVQKUDp9JYC{@_yjGw)K?7h=RoJGuGOM*g$p;8H4Mez)8G z4OHHsOv7`RdNR2RFBo%s2FStMuI*Cg>x%DMO?gf+@~0?ABn5&3pkC8wpNOq^7_ORPAA1xj#xd%w$wPq zDCGz+ZKVt|(bfLlOZReC%;p!ITVPXb8w5{@GdB>;tXps3J;9_-SL(D$JuT3m6*t{{ylb~UMhlE}?ba*q352$>LQ{ft zDeTyE6Y1>qJklKnYX93yAE^zU+dHi7^C9>>g~CZFLXe#TM%vy92&j4PIA+{s|Zl@S)qI(I+9u4Dm)2JkJbaDnu1~?i`v$wMvogbwFhsR$*A$V@>|`0*#BjCJHx~NDH`N z=q=xx2nK5vwSW|mQt~&!WJJdcWjEeD#$8v!&Ca=Eaoo+8#@#SV6pNrqCT-1iiNe9e zZgA{w3{@!E4#RA-t4ZnT3lyzI1&EU5(~6uH>zqjH9KyfJA^e*hR$mUr-0yN76mS5~ zb2tq^W@W`?##bni(f_Qb&x&ib>TYg-*4>%Sa%)hcl{jFc6BVQWp~q-H1?rY9af$vW zZ^B~$Km2k0En$i=NYA-g*vE^~(p&Hhap&o#maBe?KmUnfkCRgM7}Od~04-A5c#)Ri z*xqT0CHH>?*}h9bFrEoAz|~n*v!KXe;9-ft<}xE#pjHf6Yh63skmg3f2G9-7pMa;q z8u%=mU~YN_uR8b2K`wQmkAQ>3je@JM5`TbOqftQEZi9|OB~#5sS$-W#;@tuEMmP*j zBGa9S*6q9de?>^u4%cVDl3#r3t_(BFR`S{HQnNmlMPS?fckF{>fK-D@Py=+AGITEW zp@?g-wdl^bzUGEo44C>oZZZ24w`)rdstvz*TdkJiJOiy>pLJOV+LusjS8oY>`(LNr zvs=pcHDqeLKie+VYN%8}JM?bJ7hei%Nb0~Q5C=Wd!xh!=OXVlsbLB-2mS1!q-W+u| zreAl@kN(6xHTq;vj;Mz4mdjANj&1pA1{bz2J&R-l=^?RPVDSPI6O+D>s%u~5K zf@XfK-Ndgkw+23Y8)JDT%s|%o;we)OR?99}-s@VEYmIfHn3Anv4H_gF2#*A7d)L+(=RBX37MIP5?S0*a z1;JVnv|7upy>2qI>Kf|}=T-yqN{w|w*Vi9$>#gh8iD{9(3W9+DCxc11T;97JwALoc z%>Qy*3tQm4x9A2IUtfGacz*Ns(F{h>-9#fgT^n9oj5<|kc{UGB?Hx}haCqoxvj!g8>rX6$p>$)QHxnu_&#NX@AH zr=srA2z!_uifhXbf}tSDW|y;lwAzwug zTnp=E7S;^&&!#cqx4W=LgT3~*FYW)VdiB%@BEUg#g77F4P*?ebPqQc!_aWjm4@V=& zf1toH7zttZ(9j^vWKDuWch%iQ*a>&Ay$B4Q8>&V}%@kCpJ&*!A0mgvWTsYo7icq;d zA+f*zD}SfJSHhcv$Nw6Q`!BkWUL0}muZh11W`M4ech zN|hdO;-oRh-jIk-{3&^Gk+k7{);>F~b}xV||K7QOOWpT;jLuWu^Mj#v>lx4 zjlZ6O;@_j5Q7Hw`01AH>cn6Q~J@e`h?)yOOR!Y)JVFlb*O%X?b+zwLk3G~A|1l=|T z)Qyp|iw_@{^0C`fv3XXB5K=KJ|C<4RDk?X^6k|%?9A(=%is$KqbN_*OLEXWEnq>YB z9%j1oq}dek9|4z%zg&i;TyUA2H^YQqyh6lP)``nxX36f_aM|KToHlo+5@+ui z+0V4!HGTrWRyJCKrKbbMEdw>eb?`<6#h(IN%|^gR6h+>0i;FV9?Y6^( z&1Qr6zl{gB_*1m6@RqaVQ}Cp;I&68&sC93yQAb+$Cdwb8MFX`4)No{kR;4*!6{QtM zMGNorF++dGox0}{;Jc0i><-_c5VRT{#eb6h(g=z)!Uv9Di-@x2E$UwNiYCM>MS3&= zE4T&=YDR7Zs!(m`x!j+=f=3;%(#T~`Og*0^P2tNx;dRhk;skLwf!A34f{Iff6qQ2( z_X)7cB6jDQz4&}pMb*A4L^yO2jGzoTuPO{)1qZ;<2r3}*U#E(XAYH6@d)x@c-BtDV zQyrC6qHa|`rTL<~O5~XUZ-65}FZ7F^uK>T`-3VhZHpQp#SM_IGmm=14Z(+J+La!)E zNya4grdQjkU1j(zr{D52TKCtfr~nh;b4+dVSlOm|`_lS!-c~)EzTpjae1?{zXS5C# z*#|BA+x%lX@P{EK!Eu3ie)2(Lep~D`71@GRe>maXZ&)UankmdNcN{Px+A~M-9-1uy zU>w^LN?x0zZ)diU#Xa~S{|l}fdczQZ<&^f|1N^ts{!^&qcH-R$%L7oLpuC~8obvAc zL!vFTlaM^_lfaeLaGIXp)&B0K{cOdOA7!((7@lnh%G2fNrWdEni~QlgAD0))Zo14_ z7r5zm=d!)+-;11KFhlHt{+TGWH^#FwxfZ3%8t#syc*OltO5NR+c30NYln!17{qTLb zU%pN*?m>P(&ZpAFAx&a#W{utMenj*UIRr$-TL6IshWFV zZh%U3lF7Q*ttV?)WWm1naclbM7g4q=~4zJZr5qu zPYMON3IpI0SOQJJL$1&ON(1);J@+s_vTJ3#WoL;hTmcImKJn;TT8d;Bi;V7j%pO(a zzXpC6d=rRGam4{Fz82m1SIchpn`NwKCS86O>llj6qfwqx@@OS2HFeZv^9@3~)fz=1 zq?irg<3QZsfPVmC3CBdM{Mq*9rK(y(#yEwX=YCgaS;O3P|CF2VpJHluCCFmj5`au- zi=JN3Oyn>3cZP*qcqObROe}iuHp^>x?~Xl4OBls`vst(Y6#+y z7;agePI#XnviS>`=+?}36Hi->YJl{BSz+&5Xf%7T(L_uQh-wsEiYTPxW;$N^cm(K` zM_(?KF_*VnNVl|#2xR0)%Q4uzNQot?8VGo=bB20P0 zOC+GHz0jfZ7M7SA$N^Z}Vl!0&aRp?ms~0pL_BM&Ir!wi4zwcQnrKnlwz%X*C)7~OS zj#7fg>7%UBz%$eap0-gp`Mp-#SU0Ps5Q8P4ORya2cCK!NBfk~-L98RX{47P)p(CE`w2#}JkW z_Uus&fsNEAv_umV&O=#yEnY@~^hqB;FWooJFd=531(0LJzDQU&zBfb@DrEM99C<+B zHL3z~8amxho7C&f{3EAW5&myhjH@gY2T<$~MbN6cj~%5O62Ogsp@_Bp!l}fnitZ%eq?sN@9F?B~h>UCxUuku|C^Ztc|()PeF0W)o7tPS|^TS z!fmMEej2vgidwM9ETQhrYzQvn-BLAtFxtdQtWY$WY?_DyO*lQyi)g!o0GYDZo1mxQ zIhMaVSmCAoO1eEQS(PV8>*;w~th76cDf7rwIeiBVRk! z%nF9L2=5ruN^{_4@M3}OM!^MhGYrBU7-MkO%?2W9mN0{*cH|e9>eLJ>s8XujL-N#6 zM=R497)L!7Ak;ukNQAXg&4gxD16nMs2^2P~St*)7X~#M zpAaWgRoMV0H?aOpV8wIgCN`xM2t#N?YF zc~uFV*heJvA(XJf#YlLcC`{=nj8F^9%$5JeVorJFx4h7}Us>cl^?Ax+ZkxX}oS8<< zLh}S<3tt##RiG;Sya_bQ3(Bc-_Ui5zNq!m|_IXjey}DGy(0au8|-$wMSlp z0dg$u87M;pS4*9{qpI>L<|IXyDN;r$bFk+13}OGc61?bU8Tfe{IVHp**R~Ag!`s$f zevdqUp|?o3*X^x_hTEka%l{QhHlgIUN5xVUW*AAJ1TlB)iAvMp^T^@92FPIdwq!7_ zh>C3uG=T&Oq4WI*t%h9@b)tHf!D5|R2`PUyuJ}7hidkn*Fw%(FAS|lUbCdLtQ`{jK zsTQZ+_i1g4$3~27v&$72pfmYo( zbG%W@q(G0es54W<&XfM;> zFdyoQPoApuj=PkY=OgQ73QeWv-R?;JdBw~BYxKb{I;}ANG>XWaTDq9&vy_%=7w+2v zrRRzNHuS>$7vP;YbLk7pRXL+98&gyAyVIW|Fs+1i%9;+_d}#VKv1VN&W;b}j2t$PT zIOL;s=F`NX;XDH7Nj-BW<#rP_wOdaG-{y$%uP##fqYE8RQ{9(4y5M;WOp!i?%(x5X zk{5B_`L|j=+(lIe4&qBAG!@2JR0@CO6rJ(`&qcOSk&w2RQ@s&hu*Lg(>(1SGJI3ehrCzYfvFm0jlLW5MPp{0r1@_!PHrcu( zl3NI`hK9}!=msTm43u5^v4@~z;Jw>7{)6ARPA6D;AA2Z`0+sht0XD8(EiheqZ(E?c z)K);-8@izK7+vt#u&X?pO@F0-B|Sd;c)DJHJRQ^@ovzP5%GN#oE^gfuZs{Lv6Ug1R zt_KIc2JX=iiDLcT(jBq|8~7D_$d+@@u$f()jmDE7OS`HpDjG{sMO>#M?oBIlH)oJa z*ZE_P4MO|;AwS!p_!;C0`t0!>&6ExC=n^K^j3xIrkAdmN6D*;23{1;Zy#FnZfq%gk z=GMo+Do4V%rN9#|{lXJGwx4j1Qn(a&9CaSUOa^)%xcgD=lL@~Fj#IeM1do9yK$1ZEsj44z$lHvcJ}0#ayofkun+Lb*ZKMhx$0`;x7_cMELLu!e$v) z!_M6^#%5E6GUjey0qWmYAksr5QJ??{8mA!b%8O0t$xwS5z>R~K!FhO>iV03(!>%@7 zm`}ni0B4e(IzXs|t__#UZkY*eA zmP^8e9d;p0YZUoGbfV5tqSnM7J7~Isv@TJc`at~>Ky|Lv50RriH5*t?$fhT86xwxG zMFD>jcMG&a1D#OB&a23tL(Uwv4KW9u%ghD!OdYJ$>nm3l>nqsnF9oQ!(#&Rp^;{;{ zPkGsfoy1wks&0&#~%m%JU5OK&(i-1(!tz7*jOt}#(=P( zGwptXuF%IB*5O&Fj)*i+9KTH_gFMI0K4_mi=&V8R|&}LfsWH^1~2-6dK;wXj#moXrq$*wgS{#5r+ z7ovsvuKooiupoE6S<-TS*PAZncV)@PYb5vcm!S;$EpLLdckLos>-;cyhBo_>o(Mnb zdLr<4Z`58n!Ggs!SisDBfu(u@lWDj?x8wt1sqnN~ivz9J%V2h(&Z#<^y$3u+dQTC1 zt&ShRWgWjr8A|PaShef;+{09ab)j1m+Q>|-7eB+VG&gz20mqkKzjYPMbPc#!UchF0 z!F_mo!QG&%p9kG4hgEzIzH)hS;AZ)?fz8c78!=&A)c;7}Z4Iv^!;3t2R(q$z%Rl#J=(xAr$hpN0$0N(FaxmfcHd<~y6O>)+5oRjG zU=j=F_q0vv39v zEoW)Qps$e)@@mHHLlnczp&7I2&I4ti%jB0bd8(VGSnQ$8thimZ;IPIhx5B(db<}D@ zL0*EnKE<+{Rg7n9r`0GpORFu>Y8Y+vI}%w{FD-2^dw?GZ?7*n{M{Y4-)Nd@Rfdm5X z<22HOwGNHcc4{rc@u*C%-b}09U+14%eF#5Q|{8PKgw0E7a5^(_V60-f4k0sdbx>%kag&W`DD7^?(dXJObQ{WA7 z6|4j5!6{k9A11?7qdyml#@rPAksFCo9w_M<=RQr;5ApvOkoaF1Myd(V zOuhRe*_?HT?jqz0Bm9AJPXXEhD*%oONI%a~WrCP9f24fw5706dJKx4s?D0~8@PALp z)^@%vc2Yw3!q1hD3bxZ~@6sL`UN3~H+i=M6I!a|GGb?)Ku-4lP7*)F;&|EH|;xv;L zP$T^lkQ=eT)+F*>1S9gq+ys6mf4`btJuWA46|e)$fVg8l-C5NeAdPJ)AZH4wa5*XP zee<>dTx|P7C1OESimWO#!89>^hM&EY+6zTNdy97ENNo}Xg9fecvm@S?u zV#MOvQuu{;=)z|4e^r0$$XB77&6inDz$4dq5*%WZuQ6js*ee3#6Fo@NvrHX4%JMwP zjNy50CJV&7qcB_stJj_T1x)(2haMg3$`D<8cP_W4sGq8cn*zSJ7SZ|RlcHqJKK{S8 zQzG~jP!EQpQN=r}zpYW%kI?|M!03zYq)|M9;@_tQ`~bCufr?lw3_&*{OhC882=NUN zcM2o3<5a#fiZx6%mVA+P}^e#^&N0vX5jU5=A@u7*h7!2X1;Jqn5~6w#v$W$fhS zl^`fb1KT=C7I%a93s*PXjsrJcqM%7~95DFpkfnkW9DH(PVUdK0Q8saki_*-$3e{Bk z7$|~(Tp!Tu3mXBd^fo#uvzUdpQwdTqRySFu>n9dRPoRLGkji`+`~sA~2#^~gI~Y8O za^(rS2NSk&MEv`T#A@D zQ=4Ji$aZSX6El;p+A0uB3%w~w60{X)XK8yv#_j)#N!g{5iD+M1o2MN*ecFH4Bx1%g zy65R)rqX_%eTwD_KiDJlwxM&GcW#HR0Wao8<5lZXLgH6g0uxp9&}^>u4kR9tZ>cHJ`V+CM@SuMPtq> z{~x+g)PoOxOi9F;1lCCi6`+`Xa4JSA;t=PWSxkT0>Q7gz_78xaGFIPd zO{8{t>tR@(I? zfNp!x!GQ7e9@2M3NQJof;0 z&tQIqxpPYP?jE5l$T>^aNf{US*`u!MveMWaX7=CeELB+OMn_+A= zt!ecZM$k{96rE+A_$&GcRldvuVqk!M89W7cfwU+ctWJ$OkvqaFI|cn_&EM&2qrCo4 zjKm4J)atRmv@P5aaZ0;MKJwoFovz!~;`zNaghp%cHt>9h?b55CckWf%pIZ9^(uu3g zQE&k0*Q&P58--F^!x897P+p@I5OjnYeB=!tdB>5lg98%J#$Nyp=`L)Ui2B_0I9x&# z@S4R&g9g7wg>3a@hiPWQOJV>L>7D$fE3>RVXPG&xXn_TxJ%q)M*ENRt!Mm0wbs5hkL%iuh%1HQSUw{b;Y+MR@Y1SsDy6roaB9fgwq zQ>9h2Ym+ir(BYw8r<%(n{cd1TN;xxXxXo0Kr-)K!HZ2K#ivW zSF|oah63TorTHyDzrUpmKPJsfooXJ*MVQQlIjVxK)l0+!#q;#&7p&EnXrO>09AXa2 zq8v6TdLCz#(j&qUl5^lia2%+&kE7ozXi{yBc>Apj*>Fr_JBNvG@{rLtg!mo2{S5w~ zC<(_i96FQCb@sZt5II8J9pVRMF)F`+Cbnj1TMVmhkLB-nRjs({{gZ%S&bxge$3UAM z8h81jS|LAEFXU%~!cY#g=5fB=Jp8q~!`zuRAEyrVO&4Yf3o~>p_}V4>)SLIMHb};x z*-{9-w)|F=KXS-&a}=%dph0Nk0;+gD(Di=1Ru9orZ~_I!z_@|0U)Sf{_~Ipge#H0a z8JSI9=r&h*=<)tNlLham%nL)j+XPi?wH;sPvL}B4T^tK{0$LDlQDjW;Q8mLe0i%!1 zTJ+Xe!kXF6f_VFVLJms14}pe&j0KJMUeJxUsOr}NHgpJ6c2^7h6}1<%BZ#+vl;u6T zn?tF90#{fV&NtooeinxOk{e%PUxr)5eWyG$`H^8yzSAj3iTkq`-#*Ou2P_HfeK#Pn#wWA?V&Fk zMY*JgI1w_ZwvXbm=bSKECqXJ+~ngsm66C!*^6TmJLNwDDK6n_?oCiOA7b^ zg9!--`lhsv{AV2*Da)NY?VNbeow4siyDuQ+*F;QXkgWL6VTHVb=i8K0p%l!A<#ta+ zXV^XVVIPYN|Lmp&RS?Tzm);2D(iIGvsmr%j`Zq%Q4Xm065&D`j!#+hCAFbX!Pj>jG z2zQj7C$ZyH#s#k0e@$N5DW^_<4#Vc@c{PQss;69fH&W*32_kZS_cXLJqC96LeQ?@s zKrgroeB_@pak9IXd(EZh)$ocZhdF(7Go((Ro{G@L7L^nc zWWXebj_X_wcj7uec*UM-=b9oE#dNqrpQ3Sbj+7!4Zy;plL#Nu2pYW;MQMkHVg4ZWh zB@TUndW1S`e-n(%w$pvFFV!L~i@!ylirp8tvuyErrk;;bw@sc0_GuU57Wf}%OCmZD z4eN~VON#etAIV~Ye;;@c_mO!vvK3e4Cjlr>L4ouw6&Pb9oBRJ_BdZoDm;$bRpPSx? zLhoG*RKJzCt-QJbpn%(VAEvBB(`@A**H*s5R=&bkzH)c2KCP{MMO*ntd6cJncGTgM zc9thLp~~B@&{ycU7uW+svy>#{@8)cBHxEN?bl>E7 zm}Vc6<_Pe(P|>0MR>#A%ZSap{fqd<@kB2hjza0f$pm1SZ1)ku1`UHa73g~QF0e4e1 zq3eA5LUcZ*4FVlb*?Qsh*PqDZr!(E43^dtc!Js2yk&i8mbFQ5$9ph|r%&l;OI)5cd z?8ojl&jFgV$r!t~9FQ6AII@~0zBD|B9LW;uL(mY^zhLEC+r<@FCZ0)d`=4c41SwEL z5e`Sm5}!EEaV}?%svjvQ_|j(Lp8HW?F{XeHN+lHFKs3g#(4Tqy;izbbqey{J4VdtZ z1IlW{$E^@Yd)kg&wB#lde8O`t#=V&!Tgn9W#tI6SD5zAUeFfxbv#yI14sz{{I_j{U z#q>CDyIMkVmq00<1;&w}J2KV!7*sV#;I}(#!rTWHh?^a2vQrOSah6snax&B1lbz7Q zVkioMx;iloIsK|V%O^;yll&3n(6Z}%>bpbnJPbNxfGS1nNroM}uo9sjtTeEEZeSAJ zs4rfcn{Cd`Ws8{7mF9x6RX*7IV$jeD-RXq>E&X=#*&Nyml%i7){pA8Kr*!((g_HeE z8vjy+8Z-y)uQSQ$dwn2ffw1~&W{xnz4P($3IS2?$$^}}*S_GNxE4%x55zs$jaLq0h z6NJV=jmA>t{Y21VoP|{5uaAo7s4Nv70<#!(*Ym;3a1g9y8$o^P+4|hlbBmXnSO*3{ zbB->d#mCUA>rNz3A(7*L$0Y&u^K8Mm$(i7)_&Rixo8co+u5^x4sZZ?XM(8SCFB~KT z%pY9iSwNl};D9iK!3g!lXjBc0O zuH)Iyum!$F9m)6{Nt>*suf2|K^DXOGMu-l30`{`@5=P$v)E8j7bq?zY-(tDE@MB&Q zk8W;${CQpye`$2|N&9wSH$SiWllG{6ZUONq)6v&IYV}fP2de%N*aOzU?F=;8eAqyP z|D6pqGKQ{p;iVDmRy%KR*&uY=M^7^2TIDs&q_1Dk@BwL-ieP;`vx?2~TC3G42iJL! ztS@sbAj9SL%zCi;2ohW=DXDwalVh z6tRk(G}nj{=J>L7YjSzHAxmhcax%cGIS5v5m_D*vZmsf9UpAKa^8M*GjJ3BE_IV8# zdKvrZg~ed=b(dM(C1pX)zvA~04}l>b zMqRD8jfu2fxu6IQ$H%9!jLsr)2~%kv!oK0M-3`YRj!hJEb9>pCNRMJ7%`53(V9{j; zG#5Wky+>%I1^l5yx;ffI&e{nY9Z=OKF#~m(K**jvF#8 zG)wPe>ixF#GZnX{$ecJcpp=CW1740TQZk2br)n+>aCW#DUw?$fgINpCK}RmK;aH;` zenWt^+VM0Lw<9FhPO!KGL?mg53H;v$qO{o#n)EMbSe-ZUqsm9jJmHrlO87-!!sS7@ zeTo{d)^a%wExGRyv8NI8!)Eyqz9$l{u+L&?mZ|+G8aLq;MV08Th|rpo_E%TD%b-J3 zVW&<()WfN5u6BHyrHAbA)?das^%WwQ&}T&wuYen@13U(=7nyQ}a8_zD`UOzm3YrcX zp6lV>3VIocX(EEsUSZOf4?q!eim;}2dq1Wsb-S?sQzWFqgsm)Hw^gy+G0rKX6^ui1 zZD*H4DS~JdI#q~8^O11Xq~`Wn{!u8(%Zgj?DUVWRdr!&Y_KP1<8HUvzWF**LHOXRY zn&?$<93aBhKACoYz}9E2;0U~}^;vu0cV$bW>YhIRKm2yXIHfjwGyH4P_0JRLyB|cp zNomTXwAV2PLVJ_Xp!)^6AT~aFn^etrVB~f;`7o<>Z|WV;2|TX?R;MHdpF+|mn4nYa z9W;ZoNW4bwAbqQTya_Z&M}d-<070R7j{9UuYZKKn(?tj{iDZe8Y^DdmSbf>+vmzM*r2$@4UinNPEG)#mAZlzNB#n;oHHHHTIU zg`c`6v~OLUfJ+X`rJSBOl~G73+(J3!`EY&>-+rK256eTioo}Cy@f=}({w46?wKeh& zvj?wZoiG#1z#HY|pl`ncRE+Y9L!8QCcG`FU_hHLg!-d|c8P%L^BW?M-CA%f`c8ukx zV>*NP7N57~j;GK6i!uJz$3Ae)9BEJdp6P83&rdzG+JgTq0y}WGr`=(?Nuc>ZBo6iW z&w5~+b<#Q;c0Nsg?_wq7+yl4py^A4y89yfOi*XZc6_PYHo=2DU{2+cxScM~r=e#9vbD(Jg5zZVcMw!Z^c)u~~6<-nG`)XFg6(xkrRxG;8H7^5tPY;&Qd<#rdw z9n0-4|8`qA7Y2^1_r6T;z5cHlPCwx)m9b=CT(!U};J?tTKL%BppYpxe-?bB;7~z@0 ze(n{X8>2VaMkU$xu$wpmKCy=lDj1}wK5z&4AUFwNwQbjdk=x#&dh_k~(qh|}X%v;^ zYP-%2{>y9Zm)@W%RQ({M?qWYflgaqnyBlbH?hH^hn?Chp!_P7 zadHZtBfxJ_{pEZ7Ds<1Mi*N`vumn`B=FB1zt^i)Tg=j*BJb=+GzZk?#()D2*eXKgW zMm%{N0#oLLRYtc-hskITija0m_I`*`RN4Ye1ss=;1_Nn<|=e_B*cjW(332l(8ECY zKRPFB)(fu!RpOt(Ay5MA02b3iRL`_Hs>?)#PFazTh$8HDL)c;C#3F1Ms!!L}c{^Ii zNMVJiSO$}gOz<^YE)N(c+NjXT5Te4`lsNnF(@%?T?;=kz zUbXfGSX^JB6RxZRUN&PETnDp&uRgh4jTypYGJpT?^GcxU@-4omPGgTzxZb=!h*BCc zR5a@UQm9S%Vw!fkG-PAIJpJjuSumqnH-b?NE9Pew+QInFJJ-_O*t)|OfScG13IZ))yOnr6|W86<; zl>2Fy&(Q+Sg#9*6Z|(I(;xbgW0NA7RCkI4n8e14`5uz1Jv_gqU^{qBYf-#ADe@U6Z z5|AM8SJ=lX-Xp-TQK=T-m47%QXn_gBNg$_M%PCGy@$zG+ndD7m__=53hHRPlSz7rf zVfF!hz1rC2*Adgi;+Ki6#0(Kr<}=q0KD?Cg3-xqDoJur?uw?TSHgTff$?r49X*^!M zO7r>R6kA}`M&_=n^dt~fBbigT)PNr!gbRf0wDRmSoj`a6m^}hRNzbIEW*<|NZ5`8- zPo9Aiy~ryz^4P!q4ecY3jA%0IfAf$roc=0a&?sc&${48z>H=}aS;DMxr5sNMK7>Bb zhvSG23+_-XZ^8vTq8diqDNwb-r34COD8q+s;UJSWh3F-)AQWhVA<&>RSD+-?ze$sY z=2>tEYZo#MZw_dJ396vv2z~|B`V)7)mprvJb(fE*M1F`36XGX`(|FP*RPB~LMH~^~ zPXhG8bO{g-19O9P@xmyYoKX2bAS&J%4J8t%cx9C98kjJfsXq)d+ExY|-J#d=5!I#< z3o)TQ{WE=4Jrye!75#~qrUd1R9-U|Ls>)Kog7#w7o{|d;i%*lND(hR<6K6@?AVK-@ zhE?wPt)>slE*ce+k|0L83W$eQWgqFQX(hl|QRXNa($44eo5sZZWAa_4-C~QJswLy> zZ-dQKV)NZm+ zOqwk7+;B9#9l@e%O_$N3`O80n;@@OmIDrs&k^ zsZaekQEGPzTx790?wi{!LWDktLzUtv>jVXjZhe=n`)glVhs)m^TM`^^?vf;% zjPRye%Eaxt7uZx0<*$E4{k2j?pBr_j+gFyP02LY>6xIg4k?XrYL?U`KR{ZM#n;}&&TQLP@-33uNl>K`4@ zaJn_8{^@hIsh$KF$g462DnnP_R%Px+!51PRYA!+(S_CB|TV*0@mBG&_w)CRP7h}NJ z{DsA@xc>X@<4e&mu&sN64N4B)w{x&ew~uoT%80ok{K6X0-ugu=x2nRoQ=sy86?l{; zOh<62ZvRjP^ChGdNK+a9QH2x#qBgBn+qtSa)PZWQV=-JJ;Yyt=lRE#t9{)9$%0Ca9 zC-D^TXB~dgHI7YQVJ}Cat}0) znsx3vR(Q$D*Ex%G9FLx5qub;s)diP(7J2Xx{q_{F2QRYCNh_~R4gWY$ocvxfYNrb% zuB6KVTR(2h*u&Sj6fQ!G>~76)y@0-;2ujGbYuz!18F{t&)rL3FmP-%*wo_p$R0T>A z`A>p&Yap%MB$hhccXZbaLk-|$w?5{`{+IwkAls`d{V+P`r zRhTc3G%Hxt$8)w%aJE0s>Gpi^Rrm8NUv;@F=iS_uzqK=c{R$V;obBi4__B4aVZU>3 z+|O(b5W$yXvoEe-(D(an{rUG8wg0y!LVo*vUnF4n?9@=#myH=93Ur{bNfoEROWa%p z1lsxDhvPI)S}*S5eDN~>$Yjg?AFis^smDnfU-RBpp^p>A8nYp430fl`oaZk8?`Y90 zLwpjJJ9~gZdtt7TW%L&tT-P*8$lPur(qZ2&m~?l16MP=XKI@l}|6b@-FuK7?dKeHm zJPHnR!8FmiDkjP@sKg|@S zie`^}%Kd0_+AU6xx?Qr*A5|5@4OL{>jO{j6g#S7CH+d5*m+% zMSG@tRXy#f%v1NFgDBz0)A#UeJpBOt5WIWiDgHvD+csObnE@u*>l3ZX>&t7``84(V z>T;vC{s>p)Ekf92mob@kd^wuWS+DXkYrTabwp~17HO&{OCm3sdfx5A#7hPS}y1lm9 ze2v=ixoWqU8x*~PGx3;!^DS$A6kCM_YvrKaqQK?At+Hn8>)86lv$!$bE?>9&Xx$)7 zZ((QD3-sRR;=;h9d;NJAJpa1-Ws=5RX07Ed0H5c!HI~1jv$rhhqh)^GM?!A`YT4ih z5PNh2dPBR3bvA$Savr#=%QV{>5{vBoM0RrDa(-Wyd()-mMmGNtie?GL8#2o;oA{!B zmJd#A&FiYiHm2EpkJ|CUYS$OFn@I~0s`r@Lu-%4ew`|yMOSD@a`POdR%BD7>3z%kq zoMsyR5&x>h$Eo0gu5yxqAz@Bo@6-ZuSbVSSuF?D^tK(qnh}*&HxP#R(W2+-Y9zo<` zuw`|uju0#8B0ugn2zZR(*IXI|NHD{*qgccMvzOWd^{x=6pE`+1WZt*|Wp*AQ{~?Bf z{fiYE4h$Jt&Fwa$&&!Cu94*hX9q9L`>J&#aof$zYI#anoF4o(@fokn}Oq6T?izZO$NyNSYe^R8Q_s1bMC(`@^^GSqITc3KjnJ136JT&3zy2nF!l6OQ>w@p?iquA0AFX_zsap&+vEeElT2> zsHAR#R5-x=K)W5PPV=DGeDA#(jqC}hB6djJ`RG(U@~!>KcDukfS(_pn&P-YHZ@$U| zWkTOzsDGjmzL;Y>)m|y$D+X-g>cM2b%yOd7ECq}O`)Q39vy5H-jo{N_bHZ(}yryz0 zY%qv-s)914d_*@T>CHHlOS$3U7Rhdcl>gS-NtC>o)$HmBM!X|#v~|!OZJl(9!!(DW z_mxM0uf7%nTFYCW8fA>NhcT@Frv4G{v1t$TKMY6Jo*!_;pYjn!%F;;rp2GQcY+#@Flsi~m@p>VJNBbA z@$b>Z(8GynRFPLrY&-UN4ej1urD#w+jbw0&p|?q+A6V;{3sZ1tvB~h1<>n|IZrV84iT$Syk@J0@~)pky)L@lhEkpfaeHpZtK;WJZ(NIzegvW&87jgo#KikAZH zoUAloqSAz8;1O^YNCt6LJ7tqUp~<+N0{WKps|7Nzg#uK76|#eZ{y7u+pFlGl$u~%o z;7GU?N>+{Dy^!lslJt&THKNKf0wzGL3*s%HLSK!NeIb%`gBG~aKmqw<5HGrE3dxT4 z6fkS@68fwXe;JIbeBX2kWpKZ_OOb5DA3D{`+P>=biE;bqE!>v-R#)mNQdQ2DT~=x&Q_Z>a6eFu3#G>yNTS z)1kP`p}0I$|zZ7!tz|?9p!(Wh0Gfbn{`Nms73b5hhJCttb$z@5Jdc-Mlm+Go%$`b< z!J~#>i|e@21>zSIUrn4()W?67Seac&V0WF7vCInTaVY;BFiUY}maMgkOw#OFXxXiQ zoQ!NH8{%DU@LbaCP#}wt8%LdzUFUQ0fxTJ_cXsDM)U381NlD>?gdvzcvO|Sqd5V%t2s>g@J1-*2m7FHGjhsS!c;3Z0TNYgomZ5Ci*8+l=MUJouecJca)8K clg!P_^id`}Ky_}MG;X`xK)4lEX(!zO3+Bl7)Bpeg delta 10 RcmZoTz|nAkrC|x90st5+1JVEh diff --git a/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/Release/DiscsOfTron.rbf b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/Release/DiscsOfTron.rbf new file mode 100644 index 0000000000000000000000000000000000000000..a932c297ca211eaf1aef7e851b74c60c2836d027 GIT binary patch literal 307583 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

tG#=Y0v-Z&!7%~Mce?O$OD&~FyG5{ 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�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%0D8(<1 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%0A`d^J6! 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 each bg tile is 16x16 pixel but +-- background graphics is 2x2 pixels defintion. +-- +-- Sprite are 32x32 pixels with 1x1 pixel definition, 16 lines for odd 1/2 +-- frame and 16 lines for even 2/2 frame thanks to V8 on sprite rom ROMAD2 +-- (look at 74ls86 G1 pin 9 on video genration board schematics) +-- +-- *H and V stand for Horizontal en Vertical counter (Hcnt, Vcnt in VHDL code) +-- +-- /!\ 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 +-- buffer is access by transfer address counter during 2 scanlines after +-- visible area and only by sprite machine during visible area. +-- +-- Thus cpu can read and update sprites position during entire frame except +-- during 2 lines. +-- +-- Sprite data are organised (as seen by cpu F000-F1FF) into 128 * 4bytes. +-- bytes #1 : Vertical position +-- bytes #2 : code and attribute +-- bytes #3 : Horizontal position +-- bytes #4 : not used +-- +-- 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 +-- by hardware signal line 493. channel 0 to 2 are in timer mode. Schematic +-- show zc/to of channel 0 connected to clk/trg of channel 1. This seems to be +-- unsued for that (Kick) game. +-- +-- 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. +-- +-- 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. +-- +--------------------------------------------------------------------------------- + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity DiscsOfTron is +port( + clock_40 : in std_logic; + reset : in std_logic; + tv15Khz_mode : in std_logic; + video_r : out std_logic_vector(2 downto 0); + video_g : out std_logic_vector(2 downto 0); + video_b : out std_logic_vector(2 downto 0); + video_clk : out std_logic; + video_csync : out std_logic; + video_blankn : out std_logic; + video_hs : out std_logic; + video_vs : out std_logic; + + 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; + forward : in std_logic; + back : in std_logic; + level_up : in std_logic; + level_down : in std_logic; + fire : in std_logic; + deflect : in std_logic; + buttonf : in std_logic; + buttong : in std_logic; + + + coin_meters : in std_logic; + demo_sound : in std_logic; + service : in std_logic; + + cpu_rom_addr : out std_logic_vector(15 downto 0); + cpu_rom_do : in std_logic_vector(7 downto 0); + snd_rom_addr : out std_logic_vector(13 downto 0); + snd_rom_do : in std_logic_vector(7 downto 0); + + sp_addr : out std_logic_vector(14 downto 0); + sp_graphx32_do : in std_logic_vector(31 downto 0); + + dbg_cpu_addr : out std_logic_vector(15 downto 0) + ); +end DiscsOfTron; + +architecture struct of DiscsOfTron is + + signal reset_n : std_logic; + signal clock_vid : std_logic; + signal clock_vidn: std_logic; + signal clock_cnt : std_logic_vector(3 downto 0) := "0000"; + + signal hcnt : std_logic_vector(9 downto 0) := (others=>'0'); -- horizontal counter + signal hflip : std_logic_vector(9 downto 0) := (others=>'0'); -- horizontal counter flip + signal vcnt : std_logic_vector(9 downto 0) := (others=>'0'); -- vertical counter + signal vflip : std_logic_vector(9 downto 0) := (others=>'0'); -- vertical counter flip + + signal hs_cnt, vs_cnt :std_logic_vector(9 downto 0) ; + signal hsync0, hsync1, hsync2, hsync3, hsync4 : std_logic; + signal top_frame : std_logic := '0'; + + signal pix_ena : std_logic; + signal cpu_ena : std_logic; + + signal cpu_addr : std_logic_vector(15 downto 0); + signal cpu_di : std_logic_vector( 7 downto 0); + signal cpu_do : std_logic_vector( 7 downto 0); + signal cpu_wr_n : std_logic; + signal cpu_rd_n : std_logic; + signal cpu_mreq_n : std_logic; + signal cpu_ioreq_n : std_logic; + signal cpu_irq_n : std_logic; + signal cpu_m1_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_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_3_trg : std_logic; + signal ctc_counter_3_do : std_logic_vector(7 downto 0); + signal ctc_counter_3_int : std_logic; + +-- signal cpu_rom_do : std_logic_vector( 7 downto 0); + + signal wram_we : std_logic; + signal wram_do : std_logic_vector( 7 downto 0); + + signal bg_ram_addr: std_logic_vector(10 downto 0); + signal bg_ram_we : std_logic; + signal bg_ram_do : std_logic_vector(7 downto 0); + signal bg_ram_do_r: std_logic_vector(7 downto 0); -- registred ram data for cpu + + signal bg_code : std_logic_vector(7 downto 0); + signal bg_code_r : std_logic_vector(7 downto 0); + signal bg_attr : std_logic_vector(7 downto 0); + + signal bg_code_line : std_logic_vector(13 downto 0); + signal bg_graphx1_do : std_logic_vector( 7 downto 0); + signal bg_graphx2_do : std_logic_vector( 7 downto 0); + signal bg_palette_addr : std_logic_vector( 5 downto 0); + + signal sp_ram_cache_addr : std_logic_vector(8 downto 0); + signal sp_ram_cache_we : std_logic; + signal sp_ram_cache_do : std_logic_vector(7 downto 0); + signal sp_ram_cache_do_r : std_logic_vector(7 downto 0);-- registred ram data for cpu + + signal move_buf : std_logic; + signal sp_ram_addr : std_logic_vector(8 downto 0); + signal sp_ram_we : std_logic; + signal sp_ram_do : std_logic_vector(7 downto 0); + + signal sp_cnt : std_logic_vector( 6 downto 0); + signal sp_code : std_logic_vector( 7 downto 0); + signal sp_attr : std_logic_vector( 7 downto 0); + signal sp_input_phase : std_logic_vector( 5 downto 0); + + signal sp_done : std_logic; + signal sp_vcnt : std_logic_vector( 9 downto 0); + signal sp_line : std_logic_vector( 4 downto 0); + signal sp_hcnt : std_logic_vector( 8 downto 0); -- lsb used to mux rd/wr line buffer + signal sp_on_line : std_logic; + signal sp_on_line_r : std_logic; + signal sp_byte_cnt : std_logic_vector( 1 downto 0); + signal sp_code_line_mux: std_logic_vector(16 downto 0); + signal sp_hflip : std_logic_vector( 1 downto 0); + signal sp_vflip : std_logic_vector( 4 downto 0); + + signal sp_graphx_do : std_logic_vector( 7 downto 0); + signal sp_graphx32_do_r: std_logic_vector(31 downto 0); + signal sp_graphx_mux : std_logic_vector( 7 downto 0); + signal sp_mux_roms : std_logic_vector( 1 downto 0); + + signal sp_graphx_a : std_logic_vector( 3 downto 0); + signal sp_graphx_b : std_logic_vector( 3 downto 0); + signal sp_graphx_a_ok : std_logic; + signal sp_graphx_b_ok : std_logic; + + signal sp_buffer_ram1_addr : std_logic_vector(7 downto 0); + signal sp_buffer_ram1a_we : std_logic; + signal sp_buffer_ram1b_we : std_logic; + signal sp_buffer_ram1a_di : std_logic_vector( 7 downto 0); + signal sp_buffer_ram1b_di : std_logic_vector( 7 downto 0); + signal sp_buffer_ram1a_do : std_logic_vector( 7 downto 0); + signal sp_buffer_ram1b_do : std_logic_vector( 7 downto 0); + signal sp_buffer_ram1_do_r : std_logic_vector(15 downto 0); + + signal sp_buffer_ram2_addr : std_logic_vector(7 downto 0); + signal sp_buffer_ram2a_we : std_logic; + signal sp_buffer_ram2b_we : std_logic; + signal sp_buffer_ram2a_di : std_logic_vector( 7 downto 0); + signal sp_buffer_ram2b_di : std_logic_vector( 7 downto 0); + signal sp_buffer_ram2a_do : std_logic_vector( 7 downto 0); + signal sp_buffer_ram2b_do : std_logic_vector( 7 downto 0); + signal sp_buffer_ram2_do_r : std_logic_vector(15 downto 0); + + signal sp_buffer_sel : std_logic; + + signal sp_vid : std_logic_vector(3 downto 0); + signal sp_col : std_logic_vector(3 downto 0); + signal sp_palette_addr : std_logic_vector(5 downto 0); + + signal palette_addr : std_logic_vector(5 downto 0); + signal palette_we : std_logic; + signal palette_do : std_logic_vector(8 downto 0); + + 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 input_4 : std_logic_vector(7 downto 0); + + signal vga_s_r : std_logic; + signal vga_vs : std_logic; + signal angle : std_logic_vector(6 downto 0); + signal spin_count : std_logic_vector(9 downto 0); + +begin + +clock_vid <= clock_40; +clock_vidn <= not clock_40; +reset_n <= not reset; +video_vs <= vga_vs; +angle <= spin_count(9 downto 3); + +process (clock_40) +begin + if rising_edge(clock_40) then + vga_s_r <= vga_vs; + + if vga_s_r ='0' and vga_vs = '1' then + if buttonf = '1' then spin_count <= spin_count - 15; end if; -- 'f' + if buttong = '1' then spin_count <= spin_count + 15; end if; -- 'g' + end if; + end if; +end process; + +-- make enables clock from clock_vid +process (clock_vid, reset) +begin + if reset='1' then + clock_cnt <= (others=>'0'); + else + if rising_edge(clock_vid) then + if clock_cnt = "1111" then -- divide by 16 + clock_cnt <= (others=>'0'); + else + clock_cnt <= clock_cnt + 1; + end if; + end if; + end if; +end process; +-- +cpu_ena <= '1' when clock_cnt(2 downto 0) = "111" else '0'; -- (5MHz for 91490 super cpu board) +pix_ena <= '1' when (clock_cnt(1 downto 0) = "11" and tv15Khz_mode = '1') or -- (10MHz) + (clock_cnt(0) = '1' and tv15Khz_mode = '0') else '0'; -- (20MHz) + +----------------------------------- +-- Video scanner 634x525 @20Mhz -- +-- display 512x480 -- +----------------------------------- +process (reset, clock_vid) +begin + if reset='1' then + 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; + end if; + + if tv15Khz_mode = '0' then + -- progessive mode + + if vcnt = 490-1 then vga_vs <= '0'; end if; -- front porch 10 + if vcnt = 492-1 then vga_vs <= '1'; end if; -- sync pulse 2 + -- back porch 33 + + if hcnt = 512+13+9+6 then video_hs <= '0'; end if; -- front porch 16/25*20 = 13 + if hcnt = 512+90+9+6 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-1 and hcnt < 514+16-1 and + vcnt >= 2 and vcnt < 481 then video_blankn <= '1';end if; + + else -- interlaced mode + + if hcnt = 530+22 then + hs_cnt <= (others => '0'); + if (vcnt = 240) then + vs_cnt <= (others => '0'); + else + vs_cnt <= vs_cnt +1; + end if; + + if vcnt = 240 then vga_vs <= '0'; end if; + if vcnt = 242 then vga_vs <= '1'; end if; + + else + hs_cnt <= hs_cnt + 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'; + end if; + + if hs_cnt = 0 then hsync1 <= '0'; + elsif hs_cnt = 23 then hsync1 <= '1'; + elsif hs_cnt = 317+ 0 then hsync1 <= '0'; + elsif hs_cnt = 317+23 then hsync1 <= '1'; + end if; + + if hs_cnt = 0 then hsync2 <= '0'; + elsif hs_cnt = 317-47 then hsync2 <= '1'; + elsif hs_cnt = 317 then hsync2 <= '0'; + elsif hs_cnt = 634-47 then hsync2 <= '1'; + end if; + + + if hs_cnt = 0 then hsync3 <= '0'; + elsif hs_cnt = 23 then hsync3 <= '1'; + elsif hs_cnt = 317 then hsync3 <= '0'; + elsif hs_cnt = 634-47 then hsync3 <= '1'; + end if; + + if hs_cnt = 0 then hsync4 <= '0'; + elsif hs_cnt = 317-47 then hsync4 <= '1'; + elsif hs_cnt = 317 then hsync4 <= '0'; + elsif hs_cnt = 317+23 then hsync4 <= '1'; + end if; + + + if vs_cnt = 1 then video_csync <= hsync1; + elsif vs_cnt = 2 then video_csync <= hsync1; + elsif vs_cnt = 3 then video_csync <= hsync1; + elsif vs_cnt = 4 and top_frame = '1' then video_csync <= hsync3; + elsif vs_cnt = 4 and top_frame = '0' then video_csync <= hsync1; + elsif vs_cnt = 5 then video_csync <= hsync2; + elsif vs_cnt = 6 then video_csync <= hsync2; + elsif vs_cnt = 7 and top_frame = '1' then video_csync <= hsync4; + elsif vs_cnt = 7 and top_frame = '0' then video_csync <= hsync2; + elsif vs_cnt = 8 then video_csync <= hsync1; + elsif vs_cnt = 9 then video_csync <= hsync1; + elsif vs_cnt = 10 then video_csync <= hsync1; + 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 & "11" & not fire & not start2 & not start1 & not coin2 & not coin1; +input_1 <= '1' & angle; +input_2 <= '1' & not deflect & not level_down & not level_up & not back & not forward & not right & not left; +input_3 <= "1111111" & coin_meters; +input_4 <= x"FF"; + + +------------------------------------------ +-- cpu data input with address decoding -- +------------------------------------------ +cpu_di <= cpu_rom_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12) < X"E" else -- 0000-DFFF + wram_do when cpu_mreq_n = '0' and (cpu_addr and X"F800") = x"E000" else -- E000-E7FF + sp_ram_cache_do_r when cpu_mreq_n = '0' and (cpu_addr and x"FC00") = x"E800" else -- sprite ram E800-E9FF + mirroring 0200 + bg_ram_do_r when cpu_mreq_n = '0' and (cpu_addr and x"F800") = x"F000" else -- video ram F000-F7FF + 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"; + +------------------------------------------------------------------------ +-- 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'; + +------------------------------------------ +-- write enable / ram access from CPU -- +------------------------------------------ +wram_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"F800") = x"E000" else '0'; +sp_ram_cache_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"FC00") = x"E800" and hcnt(0) = '0' else '0'; +bg_ram_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"F800") = x"F000" and hcnt(0) = '0' else '0'; + +ssio_iowe <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' else '0'; + +---------------------------------- +--------- sprite machine --------- +---- 91464 Super Video Board ---- +---------------------------------- +hflip <= not(hcnt); -- apply mirror horizontal flip +--hflip <= hcnt; -- do not apply mirror horizontal flip + +vflip <= vcnt(8 downto 0) & not top_frame when tv15Khz_mode = '1' else vcnt; -- do not apply mirror flip + +sp_buffer_sel <= vflip(1) when tv15Khz_mode = '1' else vflip(0); + +process (clock_vid) +begin + if rising_edge(clock_vid) then + +-- debug -- max sprite counter +-- if vcnt = 0 and hcnt = 0 and pix_ena = '1' then +-- max_sprite_r <= (others => '0'); +-- if max_sprite_r > max_sprite_rr then +-- max_sprite_rr <= max_sprite_r; +-- end if; +-- end if; + + if hcnt = 0 then + sp_cnt <= (others => '0'); + sp_input_phase <= (others => '0'); + sp_on_line <= '0'; + sp_done <= '0'; +-- max_sprite <= (others => '0'); +-- if max_sprite > max_sprite_r then +-- max_sprite_r <= max_sprite; +-- end if; + end if; + + if sp_done = '0' then + sp_input_phase <= sp_input_phase + 1 ; + if sp_input_phase >= 10 then sp_hcnt <= sp_hcnt + 1; end if; + + case sp_input_phase is + when "000000" => + if sp_vcnt(8 downto 5) = x"F" then -- and sp_ram_do > x"10" then + sp_line <= sp_vcnt(4 downto 0); + else + sp_input_phase <= (others => '0'); + sp_cnt <= sp_cnt + 1; + if sp_cnt = "1111111" then sp_done <= '1'; end if; + end if; + sp_byte_cnt <= (others => '0'); + when "000001" => + sp_attr <= sp_ram_do; + when "000010" => + sp_code <= sp_ram_do; + sp_addr <= sp_ram_do(7 downto 0) & (sp_line xor sp_vflip) & (sp_byte_cnt xor sp_hflip); -- graphics rom addr + when "000011" => + sp_hcnt <= sp_ram_do & '0'; + when "001010" => -- 10 + sp_graphx32_do_r <= sp_graphx32_do; -- latch incoming sprite data + sp_addr <= sp_code(7 downto 0) & (sp_line xor sp_vflip) & (sp_byte_cnt+1 xor sp_hflip); -- advance graphics rom addr + sp_on_line <= '1'; + when "010010"|"011010"|"100010" => -- 18,26,34 + sp_graphx32_do_r <= sp_graphx32_do; -- latch incoming sprite data + sp_addr <= sp_code(7 downto 0) & (sp_line xor sp_vflip) & (sp_byte_cnt+2 xor sp_hflip); -- advance graphics rom addr + sp_byte_cnt <= sp_byte_cnt + 1; + when "101010" => -- 42 + sp_on_line <= '0'; + sp_input_phase <= (others => '0'); + sp_cnt <= sp_cnt + 1; + if sp_cnt = "1111111" then sp_done <= '1'; end if; + when others => + null; + end case; + sp_mux_roms <= sp_input_phase(2 downto 1); + end if; + + if pix_ena = '1' then + if hcnt(0) = '0' then + sp_buffer_ram1_do_r <= sp_buffer_ram1b_do & sp_buffer_ram1a_do; + sp_buffer_ram2_do_r <= sp_buffer_ram2b_do & sp_buffer_ram2a_do; + end if; + end if; + + end if; +end process; + +-- sp_ram_cache can be read/write by cpu when hcnt(0) = 0; +-- sp_ram_cache can be read by sprite machine when hcnt(0) = 1; + +sp_ram_cache_addr <= cpu_addr(8 downto 0) when hcnt(0) = '0' else sp_ram_addr; + +move_buf <= '1' when (vcnt(8 downto 1) = 250 and tv15Khz_mode = '0') or (vcnt(7 downto 1) = 125 and tv15Khz_mode = '1') else '0'; -- line 500-501 +sp_ram_addr <= vcnt(0) & hcnt(8 downto 1) when move_buf = '1' else sp_cnt & sp_input_phase(1 downto 0); +sp_ram_we <= hcnt(0) when move_buf = '1' else '0'; + +sp_vcnt <= vflip + (sp_ram_do & '0') -1 ; -- valid when sp_input_phase = 0 + +sp_hflip <= (others => sp_attr(4)); +sp_vflip <= (others => sp_attr(5)); + +sp_graphx_do <= sp_graphx32_do_r( 7 downto 0) when (sp_hflip(0) = '0' and sp_mux_roms = "01") or (sp_hflip(0) = '1' and sp_mux_roms = "00") else + sp_graphx32_do_r(15 downto 8) when (sp_hflip(0) = '0' and sp_mux_roms = "10") or (sp_hflip(0) = '1' and sp_mux_roms = "11") else + sp_graphx32_do_r(23 downto 16) when (sp_hflip(0) = '0' and sp_mux_roms = "11") or (sp_hflip(0) = '1' and sp_mux_roms = "10") else + sp_graphx32_do_r(31 downto 24);-- when (sp_hflip(0) = '0' and sp_mux_roms = "00") or (sp_hflip(0) = '1' and sp_mux_roms = "01") ; + +sp_graphx_a <= sp_graphx_do(7 downto 4) when sp_hflip(0) = '1' else sp_graphx_do(3 downto 0); +sp_graphx_b <= sp_graphx_do(3 downto 0) when sp_hflip(0) = '1' else sp_graphx_do(7 downto 4); + +sp_graphx_a_ok <= '1' when sp_graphx_a /= x"0" else '0'; +sp_graphx_b_ok <= '1' when sp_graphx_b /= x"0" else '0'; + +sp_buffer_ram1a_di <= sp_attr(3 downto 0) & sp_graphx_a when sp_buffer_sel = '1' else x"00"; +sp_buffer_ram1b_di <= sp_attr(3 downto 0) & sp_graphx_b when sp_buffer_sel = '1' else x"00"; +sp_buffer_ram1_addr <= sp_hcnt(8 downto 1) when sp_buffer_sel = '1' else hflip(8 downto 1) - x"04"; +sp_buffer_ram1a_we <= not sp_hcnt(0) and sp_on_line and sp_graphx_a_ok when sp_buffer_sel = '1' else hcnt(0); +sp_buffer_ram1b_we <= not sp_hcnt(0) and sp_on_line and sp_graphx_b_ok when sp_buffer_sel = '1' else hcnt(0); + +sp_buffer_ram2a_di <= sp_attr(3 downto 0) & sp_graphx_a when sp_buffer_sel = '0' else x"00"; +sp_buffer_ram2b_di <= sp_attr(3 downto 0) & sp_graphx_b when sp_buffer_sel = '0' else x"00"; +sp_buffer_ram2_addr <= sp_hcnt(8 downto 1) when sp_buffer_sel = '0' else hflip(8 downto 1) - x"04"; +sp_buffer_ram2a_we <= not sp_hcnt(0) and sp_on_line and sp_graphx_a_ok when sp_buffer_sel = '0' else hcnt(0); +sp_buffer_ram2b_we <= not sp_hcnt(0) and sp_on_line and sp_graphx_b_ok when sp_buffer_sel = '0' else hcnt(0); + +sp_vid <= sp_buffer_ram1_do_r(11 downto 8) when (sp_buffer_sel = '0') and (hflip(0) = '1') else + sp_buffer_ram1_do_r( 3 downto 0) when (sp_buffer_sel = '0') and (hflip(0) = '0') else + sp_buffer_ram2_do_r(11 downto 8) when (sp_buffer_sel = '1') and (hflip(0) = '1') else + sp_buffer_ram2_do_r( 3 downto 0);-- when (sp_buffer_sel = '1') and (hflip(0) = '0'); + +sp_col <= sp_buffer_ram1_do_r(15 downto 12) when (sp_buffer_sel = '0') and (hflip(0) = '1') else + sp_buffer_ram1_do_r( 7 downto 4) when (sp_buffer_sel = '0') and (hflip(0) = '0') else + sp_buffer_ram2_do_r(15 downto 12) when (sp_buffer_sel = '1') and (hflip(0) = '1') else + sp_buffer_ram2_do_r( 7 downto 4);-- when (sp_buffer_sel = '1') and (hflip(0) = '0'); + +-------------------- +--- char machine --- +--- 91490 Board ---- +-------------------- +bg_ram_addr <= cpu_addr(10 downto 0) when hcnt(0) = '0' else vflip(8 downto 4) & hflip(8 downto 4) & hcnt(1); + +bg_code_line <= bg_attr(1 downto 0) & bg_code_r & (vflip(3 downto 1) xor (bg_attr(3) & bg_attr(3) & bg_attr(3) ) ) & (hflip(3) xor bg_attr(2)); + +process (clock_vid) +begin + if rising_edge(clock_vid) then + + -- catch ram data for cpu + if hcnt(0) = '0' then + bg_ram_do_r <= bg_ram_do; + sp_ram_cache_do_r <= sp_ram_cache_do; + end if; + + if pix_ena = '1' then + + if hcnt(0) = '1' then + case hcnt(3 downto 1) is + when "110" => bg_code <= bg_ram_do; + when "111" => bg_attr <= bg_ram_do; + bg_code_r <= bg_code; + when others => null; + end case; + + case hflip(2 downto 1) xor (bg_attr(2) & bg_attr(2)) is + when "00" => bg_palette_addr <= bg_attr(5 downto 4) & bg_graphx2_do(7 downto 6) & bg_graphx1_do(7 downto 6); + when "01" => bg_palette_addr <= bg_attr(5 downto 4) & bg_graphx2_do(5 downto 4) & bg_graphx1_do(5 downto 4); + when "10" => bg_palette_addr <= bg_attr(5 downto 4) & bg_graphx2_do(3 downto 2) & bg_graphx1_do(3 downto 2); + when others => bg_palette_addr <= bg_attr(5 downto 4) & bg_graphx2_do(1 downto 0) & bg_graphx1_do(1 downto 0); + end case; + end if; + + sp_palette_addr <= sp_col(1 downto 0) & sp_vid; + + end if; + + end if; +end process; + +--------------------------- +-- mux char/sprite video -- +--------------------------- +palette_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"F800") = x"F800" else '0'; -- 0xF800-F87F + mirroring 0x0780 + +palette_addr <= cpu_addr(6 downto 1) when palette_we = '1' else + bg_palette_addr when sp_palette_addr(2 downto 0) = "000" else + sp_palette_addr; + +process (clock_vid) +begin + if rising_edge(clock_vid) then + video_g <= palette_do(2 downto 0); + video_b <= palette_do(5 downto 3); + video_r <= palette_do(8 downto 6); + end if; +end process; + +------------------------------ +-- components & sound board -- +------------------------------ + +-- microprocessor Z80 +cpu : entity work.T80se +generic map(Mode => 0, T2Write => 1, IOWait => 1) +port map( + RESET_n => reset_n, + CLK_n => clock_vid, + CLKEN => cpu_ena, + WAIT_n => '1', + INT_n => cpu_irq_n, + NMI_n => '1', --cpu_nmi_n, + BUSRQ_n => '1', + M1_n => cpu_m1_n, + MREQ_n => cpu_mreq_n, + IORQ_n => cpu_ioreq_n, + RD_n => cpu_rd_n, + WR_n => cpu_wr_n, + RFSH_n => open, + HALT_n => open, + BUSAK_n => open, + A => cpu_addr, + DI => cpu_di, + 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 + +); + +cpu_rom_addr <= cpu_addr(15 downto 0); + +-- working RAM 0xE000-0xE7FF +wram : entity work.cmos_ram +generic map( dWidth => 8, aWidth => 11) +port map( + clk => clock_vidn, + we => wram_we, + addr => cpu_addr(10 downto 0), + d => cpu_do, + q => wram_do +); + +-- video RAM 0xF000-0xF7FF +video_ram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 11) +port map( + clk => clock_vidn, + we => bg_ram_we, + addr => bg_ram_addr, + d => cpu_do, + q => bg_ram_do +); + +-- sprite RAM (no cpu access) +sprite_ram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 9) +port map( + clk => clock_vidn, + we => sp_ram_we, + addr => sp_ram_addr, + d => sp_ram_cache_do, + q => sp_ram_do +); + +-- sprite RAM 0xE800-0xE9FF + mirroring adresses +sprites_ram_cache : entity work.gen_ram +generic map( dWidth => 8, aWidth => 9) +port map( + clk => clock_vidn, + we => sp_ram_cache_we, + addr => sp_ram_cache_addr, + d => cpu_do, + q => sp_ram_cache_do +); + +-- sprite line buffer 1a +sprlinebuf1a : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram1a_we, + addr => sp_buffer_ram1_addr, + d => sp_buffer_ram1a_di, + q => sp_buffer_ram1a_do +); + +-- sprite line buffer 1b +sprlinebuf1b : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram1b_we, + addr => sp_buffer_ram1_addr, + d => sp_buffer_ram1b_di, + q => sp_buffer_ram1b_do +); + +-- sprite line buffer 2a +sprlinebuf2a : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram2a_we, + addr => sp_buffer_ram2_addr, + d => sp_buffer_ram2a_di, + q => sp_buffer_ram2a_do +); + +-- sprite line buffer 2b +sprlinebuf2b : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram2b_we, + addr => sp_buffer_ram2_addr, + d => sp_buffer_ram2b_di, + q => sp_buffer_ram2b_do +); + +-- background graphics ROM 6F +bg_graphics_1 : entity work.dotron_bg_bits_1 +port map( + clk => clock_vidn, + addr => bg_code_line(12 downto 0), + data => bg_graphx1_do +); + +-- background graphics ROM 5F +bg_graphics_2 : entity work.dotron_bg_bits_2 +port map( + clk => clock_vidn, + addr => bg_code_line(12 downto 0), + data => bg_graphx2_do +); + +-- timber_sound_board +sound_board : entity work.tapper_sound_board +port map( + clock_40 => clock_40, + reset => reset, + + main_cpu_addr => cpu_addr(7 downto 0), + + ssio_iowe => ssio_iowe, + ssio_di => cpu_do, + ssio_do => ssio_do, + + input_0 => input_0, + input_1 => input_1, + input_2 => input_2, + input_3 => input_3, + input_4 => input_4, + + separate_audio => separate_audio, + audio_out_l => audio_out_l, + audio_out_r => audio_out_r, + + cpu_rom_addr => snd_rom_addr, + cpu_rom_do => snd_rom_do, + + dbg_cpu_addr => open --dbg_cpu_addr +); + +-- background & sprite palette +palette : entity work.gen_ram +generic map( dWidth => 9, aWidth => 6) +port map( + clk => clock_vidn, + we => palette_we, + addr => palette_addr, + d => cpu_addr(0) & cpu_do, + q => palette_do +); + +end struct; \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/DiscsOfTron_MiST.sv b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/DiscsOfTron_MiST.sv new file mode 100644 index 00000000..d1141296 --- /dev/null +++ b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/DiscsOfTron_MiST.sv @@ -0,0 +1,333 @@ +//============================================================================ +// Arcade: Discs of Tron by DarFPGA +// +// 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 +// Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +//============================================================================ + +module DiscsOfTron_MiST( + output LED, + output [5:0] VGA_R, + output [5:0] VGA_G, + output [5:0] VGA_B, + output VGA_HS, + output VGA_VS, + output AUDIO_L, + output AUDIO_R, + input SPI_SCK, + output SPI_DO, + input SPI_DI, + input SPI_SS2, + input SPI_SS3, + input CONF_DATA0, + input CLOCK_27, + output [12:0] SDRAM_A, + inout [15:0] SDRAM_DQ, + output SDRAM_DQML, + output SDRAM_DQMH, + output SDRAM_nWE, + output SDRAM_nCAS, + output SDRAM_nRAS, + output SDRAM_nCS, + output [1:0] SDRAM_BA, + output SDRAM_CLK, + output SDRAM_CKE +); + +`include "rtl/build_id.v" + +localparam CONF_STR = { + "DOTRON;;", + "O2,Rotate Controls,Off,On;", + "O34,Scanlines,Off,25%,50%,75%;", + "O5,Blend,Off,On;", + "O6,Service,Off,On;", + "O7,Swap Joystick,Off,On;", + "T0,Reset;", + "V,v1.1.",`BUILD_DATE +}; + +assign LED = ~ioctl_downl; +assign SDRAM_CLK = clk_mem; +assign SDRAM_CKE = 1; + +wire clk_sys, clk_mem; +wire pll_locked; +pll_mist pll( + .inclk0(CLOCK_27), + .areset(0), + .c0(clk_sys), + .c1(clk_mem), + .locked(pll_locked) + ); + +wire [31:0] status; +wire [1:0] buttons; +wire [1:0] switches; +wire [7:0] joy_0; +wire [7:0] joy_1; +wire scandoublerD; +wire ypbpr; +wire [15:0] audio_l, audio_r; +wire hs, vs, cs; +wire blankn; +wire [2:0] g, r, b; +wire [15:0] rom_addr; +wire [15:0] rom_do; +wire [13:0] snd_addr; +wire [15:0] snd_do; +wire [13:0] sp_addr; +wire [31:0] sp_do; +wire ioctl_downl; +wire [7:0] ioctl_index; +wire ioctl_wr; +wire [24:0] ioctl_addr; +wire [7:0] ioctl_dout; + +data_io data_io( + .clk_sys ( clk_sys ), + .SPI_SCK ( SPI_SCK ), + .SPI_SS2 ( SPI_SS2 ), + .SPI_DI ( SPI_DI ), + .ioctl_download( ioctl_downl ), + .ioctl_index ( ioctl_index ), + .ioctl_wr ( ioctl_wr ), + .ioctl_addr ( ioctl_addr ), + .ioctl_dout ( ioctl_dout ) +); + +wire [24:0] sp_ioctl_addr = ioctl_addr - 17'h12000; //SP ROM offset: 0x12000 + +reg port1_req, port2_req; +sdram sdram( + .*, + .init_n ( pll_locked ), + .clk ( clk_mem ), + + // port1 used for main + sound CPU + .port1_req ( port1_req ), + .port1_ack ( ), + .port1_a ( ioctl_addr[23:1] ), + .port1_ds ( {ioctl_addr[0], ~ioctl_addr[0]} ), + .port1_we ( ioctl_downl ), + .port1_d ( {ioctl_dout, ioctl_dout} ), + .port1_q ( ), + + .cpu1_addr ( ioctl_downl ? 16'hffff : {1'b0, rom_addr[15:1]} ), + .cpu1_q ( rom_do ), + .cpu2_addr ( ioctl_downl ? 16'hffff : (16'h7000 + snd_addr[13:1]) ), + .cpu2_q ( snd_do ), + + // port2 for sprite graphics + .port2_req ( port2_req ), + .port2_ack ( ), + .port2_a ( {sp_ioctl_addr[13:0], sp_ioctl_addr[15]} ), // merge sprite roms to 32-bit wide words + .port2_ds ( {sp_ioctl_addr[14], ~sp_ioctl_addr[14]} ), + .port2_we ( ioctl_downl ), + .port2_d ( {ioctl_dout, ioctl_dout} ), + .port2_q ( ), + + .sp_addr ( ioctl_downl ? 15'h7fff : sp_addr ), + .sp_q ( sp_do ) +); + +// ROM download controller +always @(posedge clk_sys) begin + reg ioctl_wr_last = 0; + + ioctl_wr_last <= ioctl_wr; + if (ioctl_downl) begin + if (~ioctl_wr_last && ioctl_wr) begin + port1_req <= ~port1_req; + port2_req <= ~port2_req; + end + end +end + +// reset signal generation +reg reset = 1; +reg rom_loaded = 0; +always @(posedge clk_sys) begin + reg ioctl_downlD; + reg [15:0] reset_count; + ioctl_downlD <= ioctl_downl; + + // generate a second reset signal - needed for some reason + if (status[0] | buttons[1] | ~rom_loaded) reset_count <= 16'hffff; + else if (reset_count != 0) reset_count <= reset_count - 1'd1; + + if (ioctl_downlD & ~ioctl_downl) rom_loaded <= 1; + reset <= status[0] | buttons[1] | ~rom_loaded | (reset_count == 16'h0001); + +end + +DiscsOfTron DiscsOfTron( + .clock_40(clk_sys), + .reset(reset), + .video_r(r), + .video_g(g), + .video_b(b), + .video_blankn(blankn), + .video_hs(hs), + .video_vs(vs), + .video_csync(cs), + .tv15Khz_mode(scandoublerD), + .separate_audio(1'b0), + .audio_out_l(audio_l), + .audio_out_r(audio_r), + .coin1(btn_coin), + .coin2(1'b0), + .start2(btn_two_players), + .start1(btn_one_player), + .level_up(btn_lup), + .level_down(btn_ldown), + + .left(m_left), + .right(m_right), + .forward(m_up), + .back(m_down), + .fire(m_fire), + .deflect(m_bomb), + .buttonf(btn_f), + .buttong(btn_g), + .coin_meters(1), + .service(status[6]), + + .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] ), + .sp_addr ( sp_addr ), + .sp_graphx32_do ( sp_do ) +); + +wire vs_out; +wire hs_out; +assign VGA_VS = scandoublerD | vs_out; +assign VGA_HS = scandoublerD ? cs : hs_out; + +mist_video #(.COLOR_DEPTH(3), .SD_HCNT_WIDTH(10)) mist_video( + .clk_sys ( clk_sys ), + .SPI_SCK ( SPI_SCK ), + .SPI_SS3 ( SPI_SS3 ), + .SPI_DI ( SPI_DI ), + .R ( blankn ? r : 0 ), + .G ( blankn ? g : 0 ), + .B ( blankn ? b : 0 ), + .HSync ( hs ), + .VSync ( vs ), + .VGA_R ( VGA_R ), + .VGA_G ( VGA_G ), + .VGA_B ( VGA_B ), + .VGA_VS ( vs_out ), + .VGA_HS ( hs_out ), + .rotate ( {1'b1,status[2]} ), + .ce_divider ( 1 ), + .blend ( status[5] ), + .scandoubler_disable(1),//scandoublerD ), + .no_csync ( 1'b1 ), + .scanlines ( status[4:3] ), + .ypbpr ( ypbpr ) + ); + +user_io #( + .STRLEN(($size(CONF_STR)>>3))) +user_io( + .clk_sys (clk_sys ), + .conf_str (CONF_STR ), + .SPI_CLK (SPI_SCK ), + .SPI_SS_IO (CONF_DATA0 ), + .SPI_MISO (SPI_DO ), + .SPI_MOSI (SPI_DI ), + .buttons (buttons ), + .switches (switches ), + .scandoubler_disable (scandoublerD ), + .ypbpr (ypbpr ), + .key_strobe (key_strobe ), + .key_pressed (key_pressed ), + .key_code (key_code ), + .joystick_0 (joy_0 ), + .joystick_1 (joy_1 ), + .status (status ) + ); + +dac #( + .C_bits(16)) +dac_l( + .clk_i(clk_sys), + .res_n_i(1), + .dac_i(audio_l), + .dac_o(AUDIO_L) + ); + +dac #( + .C_bits(16)) +dac_r( + .clk_i(clk_sys), + .res_n_i(1), + .dac_i(audio_r), + .dac_o(AUDIO_R) + ); + +wire [7:0] joystick_0 = status[7] ? joy_1 : joy_0; +wire [7:0] joystick_1 = status[7] ? joy_0 : joy_1; + +wire m_up = btn_up | joystick_0[3] | joystick_1[3]; +wire m_down = btn_down | joystick_0[2] | joystick_1[2]; +wire m_left = btn_left | joystick_0[1] | joystick_1[1]; +wire m_right = 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]; +//wire m_lup = btn_lup | joystick_0[6] | joystick_1[6]; +//wire m_ldown = btn_ldown | joystick_0[7] | joystick_1[7]; + +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_f = 0; +reg btn_g = 0; + +reg btn_lup = 0; +reg btn_ldown = 0; +reg btn_fire1 = 0; +reg btn_fire2 = 0; +reg btn_coin = 0; +wire key_pressed; +wire [7:0] key_code; +wire key_strobe; + +always @(posedge clk_sys) begin + if(key_strobe) begin + case(key_code) + 'h34: btn_f <= key_pressed; // f + 'h2B: btn_g <= key_pressed; // g + 'h04: btn_lup <= key_pressed; // F3 + 'h0C: btn_ldown <= key_pressed; // F4 + '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 + 'h11: btn_fire2 <= key_pressed; // alt + 'h29: btn_fire1 <= key_pressed; // Space + endcase + end +end + +endmodule diff --git a/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/YM2149_linmix_sep.vhd b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/YM2149_linmix_sep.vhd new file mode 100644 index 00000000..6ed2498a --- /dev/null +++ b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/YM2149_linmix_sep.vhd @@ -0,0 +1,574 @@ +-- changes for seperate audio outputs and enable now enables cpu access as well +-- +-- A simulation model of YM2149 (AY-3-8910 with bells on) + +-- Copyright (c) MikeJ - Jan 2005 +-- +-- All rights reserved +-- +-- Redistribution and use in source and synthezised forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- Redistributions in synthesized form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- Neither the name of the author nor the names of other contributors may +-- be used to endorse or promote products derived from this software without +-- specific prior written permission. +-- +-- THIS CODE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE +-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- +-- You are responsible for any legal issues arising from your use of this code. +-- +-- The latest version of this file can be found at: www.fpgaarcade.com +-- +-- Email support@fpgaarcade.com +-- +-- Revision list +-- +-- version 001 initial release +-- +-- Clues from MAME sound driver and Kazuhiro TSUJIKAWA +-- +-- These are the measured outputs from a real chip for a single Isolated channel into a 1K load (V) +-- vol 15 .. 0 +-- 3.27 2.995 2.741 2.588 2.452 2.372 2.301 2.258 2.220 2.198 2.178 2.166 2.155 2.148 2.141 2.132 +-- As the envelope volume is 5 bit, I have fitted a curve to the not quite log shape in order +-- to produced all the required values. +-- (The first part of the curve is a bit steeper and the last bit is more linear than expected) +-- +-- NOTE, this component uses LINEAR mixing of the three analogue channels, and is only +-- accurate for designs where the outputs are buffered and not simply wired together. +-- The ouput level is more complex in that case and requires a larger table. + +library ieee; + use ieee.std_logic_1164.all; + use ieee.std_logic_arith.all; + use ieee.std_logic_unsigned.all; + +entity YM2149 is + port ( + -- data bus + I_DA : in std_logic_vector(7 downto 0); + O_DA : out std_logic_vector(7 downto 0); + O_DA_OE_L : out std_logic; + -- control + I_A9_L : in std_logic; + I_A8 : in std_logic; + I_BDIR : in std_logic; + I_BC2 : in std_logic; + I_BC1 : in std_logic; + I_SEL_L : in std_logic; + + O_AUDIO : out std_logic_vector(7 downto 0); + O_CHAN : out std_logic_vector(1 downto 0); + -- port a + I_IOA : in std_logic_vector(7 downto 0); + O_IOA : out std_logic_vector(7 downto 0); + O_IOA_OE_L : out std_logic; + -- port b + I_IOB : in std_logic_vector(7 downto 0); + O_IOB : out std_logic_vector(7 downto 0); + O_IOB_OE_L : out std_logic; + + ENA : in std_logic; -- clock enable for higher speed operation + RESET_L : in std_logic; + CLK : in std_logic -- note 6 Mhz + ); +end; + +architecture RTL of YM2149 is + type array_16x8 is array (0 to 15) of std_logic_vector( 7 downto 0); + type array_3x12 is array (1 to 3) of std_logic_vector(11 downto 0); + + signal cnt_div : std_logic_vector(3 downto 0) := (others => '0'); + signal cnt_div_t1 : std_logic_vector(3 downto 0); + signal noise_div : std_logic := '0'; + signal ena_div : std_logic; + signal ena_div_noise : std_logic; + signal poly17 : std_logic_vector(16 downto 0) := (others => '0'); + + -- registers + signal addr : std_logic_vector(7 downto 0); + signal busctrl_addr : std_logic; + signal busctrl_we : std_logic; + signal busctrl_re : std_logic; + + signal reg : array_16x8; + signal env_reset : std_logic; + signal ioa_inreg : std_logic_vector(7 downto 0); + signal iob_inreg : std_logic_vector(7 downto 0); + + signal noise_gen_cnt : std_logic_vector(4 downto 0); + signal noise_gen_op : std_logic; + signal tone_gen_cnt : array_3x12 := (others => (others => '0')); + signal tone_gen_op : std_logic_vector(3 downto 1) := "000"; + + signal env_gen_cnt : std_logic_vector(15 downto 0); + signal env_ena : std_logic; + signal env_hold : std_logic; + signal env_inc : std_logic; + signal env_vol : std_logic_vector(4 downto 0); + + signal tone_ena_l : std_logic; + signal tone_src : std_logic; + signal noise_ena_l : std_logic; + signal chan_vol : std_logic_vector(4 downto 0); + + signal dac_amp : std_logic_vector(7 downto 0); +begin + -- cpu i/f + p_busdecode : process(I_BDIR, I_BC2, I_BC1, addr, I_A9_L, I_A8) + variable cs : std_logic; + variable sel : std_logic_vector(2 downto 0); + begin + -- BDIR BC2 BC1 MODE + -- 0 0 0 inactive + -- 0 0 1 address + -- 0 1 0 inactive + -- 0 1 1 read + -- 1 0 0 address + -- 1 0 1 inactive + -- 1 1 0 write + -- 1 1 1 read + busctrl_addr <= '0'; + busctrl_we <= '0'; + busctrl_re <= '0'; + + cs := '0'; + if (I_A9_L = '0') and (I_A8 = '1') and (addr(7 downto 4) = "0000") then + cs := '1'; + end if; + + sel := (I_BDIR & I_BC2 & I_BC1); + case sel is + when "000" => null; + when "001" => busctrl_addr <= '1'; + when "010" => null; + when "011" => busctrl_re <= cs; + when "100" => busctrl_addr <= '1'; + when "101" => null; + when "110" => busctrl_we <= cs; + when "111" => busctrl_addr <= '1'; + when others => null; + end case; + end process; + + p_oe : process(busctrl_re) + begin + -- if we are emulating a real chip, maybe clock this to fake up the tristate typ delay of 100ns + O_DA_OE_L <= not (busctrl_re); + end process; + + -- + -- CLOCKED + -- + p_waddr : process(RESET_L, CLK) + begin + -- looks like registers are latches in real chip, but the address is caught at the end of the address state. + if (RESET_L = '0') then + addr <= (others => '0'); + elsif rising_edge(CLK) then + if (ENA = '1') then + if (busctrl_addr = '1') then + addr <= I_DA; + end if; + end if; + end if; + end process; + + p_wdata : process(RESET_L, CLK) + begin + if (RESET_L = '0') then + reg <= (others => (others => '0')); + env_reset <= '1'; + elsif rising_edge(CLK) then + if (ENA = '1') then + env_reset <= '0'; + if (busctrl_we = '1') then + case addr(3 downto 0) is + when x"0" => reg(0) <= I_DA; + when x"1" => reg(1) <= I_DA; + when x"2" => reg(2) <= I_DA; + when x"3" => reg(3) <= I_DA; + when x"4" => reg(4) <= I_DA; + when x"5" => reg(5) <= I_DA; + when x"6" => reg(6) <= I_DA; + when x"7" => reg(7) <= I_DA; + when x"8" => reg(8) <= I_DA; + when x"9" => reg(9) <= I_DA; + when x"A" => reg(10) <= I_DA; + when x"B" => reg(11) <= I_DA; + when x"C" => reg(12) <= I_DA; + when x"D" => reg(13) <= I_DA; env_reset <= '1'; + when x"E" => reg(14) <= I_DA; + when x"F" => reg(15) <= I_DA; + when others => null; + end case; + end if; + end if; + end if; + end process; + + p_rdata : process(busctrl_re, addr, reg, ioa_inreg, iob_inreg) + begin + O_DA <= (others => '0'); -- 'X' + if (busctrl_re = '1') then -- not necessary, but useful for putting 'X's in the simulator + case addr(3 downto 0) is + when x"0" => O_DA <= reg(0) ; + when x"1" => O_DA <= "0000" & reg(1)(3 downto 0) ; + when x"2" => O_DA <= reg(2) ; + when x"3" => O_DA <= "0000" & reg(3)(3 downto 0) ; + when x"4" => O_DA <= reg(4) ; + when x"5" => O_DA <= "0000" & reg(5)(3 downto 0) ; + when x"6" => O_DA <= "000" & reg(6)(4 downto 0) ; + when x"7" => O_DA <= reg(7) ; + when x"8" => O_DA <= "000" & reg(8)(4 downto 0) ; + when x"9" => O_DA <= "000" & reg(9)(4 downto 0) ; + when x"A" => O_DA <= "000" & reg(10)(4 downto 0) ; + when x"B" => O_DA <= reg(11); + when x"C" => O_DA <= reg(12); + when x"D" => O_DA <= "0000" & reg(13)(3 downto 0); + when x"E" => if (reg(7)(6) = '0') then -- input + O_DA <= ioa_inreg; + else + O_DA <= reg(14); -- read output reg + end if; + when x"F" => if (Reg(7)(7) = '0') then + O_DA <= iob_inreg; + else + O_DA <= reg(15); + end if; + when others => null; + end case; + end if; + end process; + -- + p_divider : process + begin + wait until rising_edge(CLK); + -- / 8 when SEL is high and /16 when SEL is low + if (ENA = '1') then + ena_div <= '0'; + ena_div_noise <= '0'; + if (cnt_div = "0000") then + cnt_div <= (not I_SEL_L) & "111"; + ena_div <= '1'; + + noise_div <= not noise_div; + if (noise_div = '1') then + ena_div_noise <= '1'; + end if; + else + cnt_div <= cnt_div - "1"; + end if; + end if; + end process; + + p_noise_gen : process + variable noise_gen_comp : std_logic_vector(4 downto 0); + variable poly17_zero : std_logic; + begin + wait until rising_edge(CLK); + if (reg(6)(4 downto 0) = "00000") then + noise_gen_comp := "00000"; + else + noise_gen_comp := (reg(6)(4 downto 0) - "1"); + end if; + + poly17_zero := '0'; + if (poly17 = "00000000000000000") then poly17_zero := '1'; end if; + + if (ENA = '1') then + if (ena_div_noise = '1') then -- divider ena + + if (noise_gen_cnt >= noise_gen_comp) then + noise_gen_cnt <= "00000"; + poly17 <= (poly17(0) xor poly17(2) xor poly17_zero) & poly17(16 downto 1); + else + noise_gen_cnt <= (noise_gen_cnt + "1"); + end if; + end if; + end if; + end process; + noise_gen_op <= poly17(0); + + p_tone_gens : process + variable tone_gen_freq : array_3x12; + variable tone_gen_comp : array_3x12; + begin + wait until rising_edge(CLK); + -- looks like real chips count up - we need to get the Exact behaviour .. + tone_gen_freq(1) := reg(1)(3 downto 0) & reg(0); + tone_gen_freq(2) := reg(3)(3 downto 0) & reg(2); + tone_gen_freq(3) := reg(5)(3 downto 0) & reg(4); + -- period 0 = period 1 + for i in 1 to 3 loop + if (tone_gen_freq(i) = x"000") then + tone_gen_comp(i) := x"000"; + else + tone_gen_comp(i) := (tone_gen_freq(i) - "1"); + end if; + end loop; + + if (ENA = '1') then + for i in 1 to 3 loop + if (ena_div = '1') then -- divider ena + + if (tone_gen_cnt(i) >= tone_gen_comp(i)) then + tone_gen_cnt(i) <= x"000"; + tone_gen_op(i) <= not tone_gen_op(i); + else + tone_gen_cnt(i) <= (tone_gen_cnt(i) + "1"); + end if; + end if; + end loop; + end if; + end process; + + p_envelope_freq : process + variable env_gen_freq : std_logic_vector(15 downto 0); + variable env_gen_comp : std_logic_vector(15 downto 0); + begin + wait until rising_edge(CLK); + env_gen_freq := reg(12) & reg(11); + -- envelope freqs 1 and 0 are the same. + if (env_gen_freq = x"0000") then + env_gen_comp := x"0000"; + else + env_gen_comp := (env_gen_freq - "1"); + end if; + + if (ENA = '1') then + env_ena <= '0'; + if (ena_div = '1') then -- divider ena + if (env_gen_cnt >= env_gen_comp) then + env_gen_cnt <= x"0000"; + env_ena <= '1'; + else + env_gen_cnt <= (env_gen_cnt + "1"); + end if; + end if; + end if; + end process; + + p_envelope_shape : process(env_reset, reg, CLK) + variable is_bot : boolean; + variable is_bot_p1 : boolean; + variable is_top_m1 : boolean; + variable is_top : boolean; + begin + -- envelope shapes + -- C AtAlH + -- 0 0 x x \___ + -- + -- 0 1 x x /___ + -- + -- 1 0 0 0 \\\\ + -- + -- 1 0 0 1 \___ + -- + -- 1 0 1 0 \/\/ + -- ___ + -- 1 0 1 1 \ + -- + -- 1 1 0 0 //// + -- ___ + -- 1 1 0 1 / + -- + -- 1 1 1 0 /\/\ + -- + -- 1 1 1 1 /___ + if (env_reset = '1') then + -- load initial state + if (reg(13)(2) = '0') then -- attack + env_vol <= "11111"; + env_inc <= '0'; -- -1 + else + env_vol <= "00000"; + env_inc <= '1'; -- +1 + end if; + env_hold <= '0'; + + elsif rising_edge(CLK) then + is_bot := (env_vol = "00000"); + is_bot_p1 := (env_vol = "00001"); + is_top_m1 := (env_vol = "11110"); + is_top := (env_vol = "11111"); + + if (ENA = '1') then + if (env_ena = '1') then + if (env_hold = '0') then + if (env_inc = '1') then + env_vol <= (env_vol + "00001"); + else + env_vol <= (env_vol + "11111"); + end if; + end if; + + -- envelope shape control. + if (reg(13)(3) = '0') then + if (env_inc = '0') then -- down + if is_bot_p1 then env_hold <= '1'; end if; + else + if is_top then env_hold <= '1'; end if; + end if; + else + if (reg(13)(0) = '1') then -- hold = 1 + if (env_inc = '0') then -- down + if (reg(13)(1) = '1') then -- alt + if is_bot then env_hold <= '1'; end if; + else + if is_bot_p1 then env_hold <= '1'; end if; + end if; + else + if (reg(13)(1) = '1') then -- alt + if is_top then env_hold <= '1'; end if; + else + if is_top_m1 then env_hold <= '1'; end if; + end if; + end if; + + elsif (reg(13)(1) = '1') then -- alternate + if (env_inc = '0') then -- down + if is_bot_p1 then env_hold <= '1'; end if; + if is_bot then env_hold <= '0'; env_inc <= '1'; end if; + else + if is_top_m1 then env_hold <= '1'; end if; + if is_top then env_hold <= '0'; env_inc <= '0'; end if; + end if; + end if; + + end if; + end if; + end if; + end if; + end process; + + p_chan_mixer : process(cnt_div, reg, tone_gen_op) + begin + tone_ena_l <= '1'; tone_src <= '1'; + noise_ena_l <= '1'; chan_vol <= "00000"; + case cnt_div(1 downto 0) is + when "00" => + tone_ena_l <= reg(7)(0); tone_src <= tone_gen_op(1); chan_vol <= reg(8)(4 downto 0); + noise_ena_l <= reg(7)(3); + when "01" => + tone_ena_l <= reg(7)(1); tone_src <= tone_gen_op(2); chan_vol <= reg(9)(4 downto 0); + noise_ena_l <= reg(7)(4); + when "10" => + tone_ena_l <= reg(7)(2); tone_src <= tone_gen_op(3); chan_vol <= reg(10)(4 downto 0); + noise_ena_l <= reg(7)(5); + when "11" => null; -- tone gen outputs become valid on this clock + when others => null; + end case; + end process; + + p_op_mixer : process + variable chan_mixed : std_logic; + variable chan_amp : std_logic_vector(4 downto 0); + begin + wait until rising_edge(CLK); + if (ENA = '1') then + + chan_mixed := (tone_ena_l or tone_src) and (noise_ena_l or noise_gen_op); + + chan_amp := (others => '0'); + if (chan_mixed = '1') then + if (chan_vol(4) = '0') then + if (chan_vol(3 downto 0) = "0000") then -- nothing is easy ! make sure quiet is quiet + chan_amp := "00000"; + else + chan_amp := chan_vol(3 downto 0) & '1'; -- make sure level 31 (env) = level 15 (tone) + end if; + else + chan_amp := env_vol(4 downto 0); + end if; + end if; + + dac_amp <= x"00"; + case chan_amp is + when "11111" => dac_amp <= x"FF"; + when "11110" => dac_amp <= x"D9"; + when "11101" => dac_amp <= x"BA"; + when "11100" => dac_amp <= x"9F"; + when "11011" => dac_amp <= x"88"; + when "11010" => dac_amp <= x"74"; + when "11001" => dac_amp <= x"63"; + when "11000" => dac_amp <= x"54"; + when "10111" => dac_amp <= x"48"; + when "10110" => dac_amp <= x"3D"; + when "10101" => dac_amp <= x"34"; + when "10100" => dac_amp <= x"2C"; + when "10011" => dac_amp <= x"25"; + when "10010" => dac_amp <= x"1F"; + when "10001" => dac_amp <= x"1A"; + when "10000" => dac_amp <= x"16"; + when "01111" => dac_amp <= x"13"; + when "01110" => dac_amp <= x"10"; + when "01101" => dac_amp <= x"0D"; + when "01100" => dac_amp <= x"0B"; + when "01011" => dac_amp <= x"09"; + when "01010" => dac_amp <= x"08"; + when "01001" => dac_amp <= x"07"; + when "01000" => dac_amp <= x"06"; + when "00111" => dac_amp <= x"05"; + when "00110" => dac_amp <= x"04"; + when "00101" => dac_amp <= x"03"; + when "00100" => dac_amp <= x"03"; + when "00011" => dac_amp <= x"02"; + when "00010" => dac_amp <= x"02"; + when "00001" => dac_amp <= x"01"; + when "00000" => dac_amp <= x"00"; + when others => null; + end case; + + cnt_div_t1 <= cnt_div; + end if; + end process; + + p_audio_output : process(RESET_L, CLK) + begin + if (RESET_L = '0') then + O_AUDIO <= (others => '0'); + O_CHAN <= (others => '0'); + elsif rising_edge(CLK) then + + if (ENA = '1') then + O_AUDIO <= dac_amp(7 downto 0); + O_CHAN <= cnt_div_t1(1 downto 0); + end if; + end if; + end process; + + p_io_ports : process(reg) + begin + O_IOA <= reg(14); + O_IOA_OE_L <= not reg(7)(6); + O_IOB <= reg(15); + O_IOB_OE_L <= not reg(7)(7); + end process; + + p_io_ports_inreg : process + begin + wait until rising_edge(CLK); + if (ENA = '1') then -- resync + ioa_inreg <= I_IOA; + iob_inreg <= I_IOB; + end if; + end process; +end architecture RTL; diff --git a/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/build_id.tcl b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/build_id.tcl new file mode 100644 index 00000000..938515d8 --- /dev/null +++ b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/build_id.tcl @@ -0,0 +1,35 @@ +# ================================================================================ +# +# Build ID Verilog Module Script +# Jeff Wiencrot - 8/1/2011 +# +# Generates a Verilog module that contains a timestamp, +# from the current build. These values are available from the build_date, build_time, +# physical_address, and host_name output ports of the build_id module in the build_id.v +# Verilog source file. +# +# ================================================================================ + +proc generateBuildID_Verilog {} { + + # Get the timestamp (see: http://www.altera.com/support/examples/tcl/tcl-date-time-stamp.html) + set buildDate [ clock format [ clock seconds ] -format %y%m%d ] + set buildTime [ clock format [ clock seconds ] -format %H%M%S ] + + # Create a Verilog file for output + set outputFileName "rtl/build_id.v" + set outputFile [open $outputFileName "w"] + + # Output the Verilog source + puts $outputFile "`define BUILD_DATE \"$buildDate\"" + puts $outputFile "`define BUILD_TIME \"$buildTime\"" + close $outputFile + + # Send confirmation message to the Messages window + post_message "Generated build identification Verilog module: [pwd]/$outputFileName" + post_message "Date: $buildDate" + post_message "Time: $buildTime" +} + +# Comment out this line to prevent the process from automatically executing when the file is sourced: +generateBuildID_Verilog \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/cmos_ram.vhd b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/cmos_ram.vhd new file mode 100644 index 00000000..c5e34893 --- /dev/null +++ b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/cmos_ram.vhd @@ -0,0 +1,356 @@ +-- ----------------------------------------------------------------------- +-- +-- Syntiac's generic VHDL support files. +-- +-- ----------------------------------------------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +-- +-- Modified April 2016 by Dar (darfpga@aol.fr) +-- http://darfpga.blogspot.fr +-- Remove address register when writing +-- +-- ----------------------------------------------------------------------- +-- +-- gen_rwram.vhd +-- +-- ----------------------------------------------------------------------- +-- +-- generic ram. +-- +-- ----------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.numeric_std.ALL; + +-- ----------------------------------------------------------------------- + +entity cmos_ram is + generic ( + dWidth : integer := 8; + aWidth : integer := 10 + ); + port ( + clk : in std_logic; + we : in std_logic; + addr : in std_logic_vector((aWidth-1) downto 0); + d : in std_logic_vector((dWidth-1) downto 0); + q : out std_logic_vector((dWidth-1) downto 0) + ); +end entity; + +-- ----------------------------------------------------------------------- + +architecture rtl of cmos_ram is + subtype addressRange is integer range 0 to ((2**aWidth)-1); + type ramDef is array(addressRange) of std_logic_vector((dWidth-1) downto 0); + signal ram: ramDef:= ( + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --000-00F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --010-01F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --020-02F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --030-03F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --040-04F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --050-05F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --060-06F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --070-07F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --080-08F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --090-09F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0A0-0AF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0B0-0BF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0C0-0CF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0D0-0DF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0E0-0EF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0F0-0FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --100-10F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --1F0-1FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --200-20F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --2F0-2FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --300-30F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --3F0-3FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --400-40F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --4F0-4FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --500-50F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --5F0-5FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --600-60F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --6F0-6FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --700-70F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF" --7F0-7FF + +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --800-80F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --8F0-8FF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --900-90F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --9F0-9FF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --A00-A0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --AF0-AFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --B00-B0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --BF0-BFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --C00-C0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --CF0-CFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --D00-D0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --DF0-DFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --E00-E0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --EF0-EFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --F00-F0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF" --FF0-FFF +); + + signal rAddrReg : std_logic_vector((aWidth-1) downto 0); + signal qReg : std_logic_vector((dWidth-1) downto 0); +begin +-- ----------------------------------------------------------------------- +-- Signals to entity interface +-- ----------------------------------------------------------------------- +-- q <= qReg; + +-- ----------------------------------------------------------------------- +-- Memory write +-- ----------------------------------------------------------------------- + process(clk) + begin + if rising_edge(clk) then + if we = '1' then + ram(to_integer(unsigned(addr))) <= d; + end if; + end if; + end process; + +-- ----------------------------------------------------------------------- +-- Memory read +-- ----------------------------------------------------------------------- +process(clk) + begin + if rising_edge(clk) then +-- qReg <= ram(to_integer(unsigned(rAddrReg))); +-- rAddrReg <= addr; +---- qReg <= ram(to_integer(unsigned(addr))); + q <= ram(to_integer(unsigned(addr))); + end if; + end process; +--q <= ram(to_integer(unsigned(addr))); +end architecture; + diff --git a/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/ctc_controler.vhd b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/ctc_controler.vhd new file mode 100644 index 00000000..1ff9961d --- /dev/null +++ b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/ctc_controler.vhd @@ -0,0 +1,106 @@ +--------------------------------------------------------------------------------- +-- 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; diff --git a/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/ctc_counter.vhd b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/ctc_counter.vhd new file mode 100644 index 00000000..25f9a797 --- /dev/null +++ b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/ctc_counter.vhd @@ -0,0 +1,152 @@ +--------------------------------------------------------------------------------- +-- 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; diff --git a/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/gen_ram.vhd b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/gen_ram.vhd new file mode 100644 index 00000000..f1a95608 --- /dev/null +++ b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/gen_ram.vhd @@ -0,0 +1,84 @@ +-- ----------------------------------------------------------------------- +-- +-- Syntiac's generic VHDL support files. +-- +-- ----------------------------------------------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +-- +-- Modified April 2016 by Dar (darfpga@aol.fr) +-- http://darfpga.blogspot.fr +-- Remove address register when writing +-- +-- ----------------------------------------------------------------------- +-- +-- gen_rwram.vhd +-- +-- ----------------------------------------------------------------------- +-- +-- generic ram. +-- +-- ----------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.numeric_std.ALL; + +-- ----------------------------------------------------------------------- + +entity gen_ram is + generic ( + dWidth : integer := 8; + aWidth : integer := 10 + ); + port ( + clk : in std_logic; + we : in std_logic; + addr : in std_logic_vector((aWidth-1) downto 0); + d : in std_logic_vector((dWidth-1) downto 0); + q : out std_logic_vector((dWidth-1) downto 0) + ); +end entity; + +-- ----------------------------------------------------------------------- + +architecture rtl of gen_ram is + subtype addressRange is integer range 0 to ((2**aWidth)-1); + type ramDef is array(addressRange) of std_logic_vector((dWidth-1) downto 0); + signal ram: ramDef; + + signal rAddrReg : std_logic_vector((aWidth-1) downto 0); + signal qReg : std_logic_vector((dWidth-1) downto 0); +begin +-- ----------------------------------------------------------------------- +-- Signals to entity interface +-- ----------------------------------------------------------------------- +-- q <= qReg; + +-- ----------------------------------------------------------------------- +-- Memory write +-- ----------------------------------------------------------------------- + process(clk) + begin + if rising_edge(clk) then + if we = '1' then + ram(to_integer(unsigned(addr))) <= d; + end if; + end if; + end process; + +-- ----------------------------------------------------------------------- +-- Memory read +-- ----------------------------------------------------------------------- +process(clk) + begin + if rising_edge(clk) then +-- qReg <= ram(to_integer(unsigned(rAddrReg))); +-- rAddrReg <= addr; +---- qReg <= ram(to_integer(unsigned(addr))); + q <= ram(to_integer(unsigned(addr))); + end if; + end process; +--q <= ram(to_integer(unsigned(addr))); +end architecture; + diff --git a/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/pll_mist.vhd b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/pll_mist.vhd new file mode 100644 index 00000000..15c5571c --- /dev/null +++ b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/pll_mist.vhd @@ -0,0 +1,397 @@ +-- megafunction wizard: %ALTPLL% +-- GENERATION: STANDARD +-- VERSION: WM1.0 +-- MODULE: altpll + +-- ============================================================ +-- File Name: pll_mist.vhd +-- Megafunction Name(s): +-- altpll +-- +-- Simulation Library Files(s): +-- altera_mf +-- ============================================================ +-- ************************************************************ +-- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +-- +-- 13.1.0 Build 162 10/23/2013 SJ Web Edition +-- ************************************************************ + + +--Copyright (C) 1991-2013 Altera Corporation +--Your use of Altera Corporation's design tools, logic functions +--and other software and tools, and its AMPP partner logic +--functions, and any output files from any of the foregoing +--(including device programming or simulation files), and any +--associated documentation or information are expressly subject +--to the terms and conditions of the Altera Program License +--Subscription Agreement, Altera MegaCore Function License +--Agreement, or other applicable license agreement, including, +--without limitation, that your use is for the sole purpose of +--programming logic devices manufactured by Altera and sold by +--Altera or its authorized distributors. Please refer to the +--applicable agreement for further details. + + +LIBRARY ieee; +USE ieee.std_logic_1164.all; + +LIBRARY altera_mf; +USE altera_mf.all; + +ENTITY pll_mist IS + PORT + ( + areset : IN STD_LOGIC := '0'; + inclk0 : IN STD_LOGIC := '0'; + c0 : OUT STD_LOGIC ; + c1 : OUT STD_LOGIC ; + locked : OUT STD_LOGIC + ); +END pll_mist; + + +ARCHITECTURE SYN OF pll_mist IS + + SIGNAL sub_wire0 : STD_LOGIC_VECTOR (4 DOWNTO 0); + SIGNAL sub_wire1 : STD_LOGIC ; + SIGNAL sub_wire2 : STD_LOGIC ; + SIGNAL sub_wire3 : STD_LOGIC ; + SIGNAL sub_wire4 : STD_LOGIC ; + SIGNAL sub_wire5 : STD_LOGIC_VECTOR (1 DOWNTO 0); + SIGNAL sub_wire6_bv : BIT_VECTOR (0 DOWNTO 0); + SIGNAL sub_wire6 : STD_LOGIC_VECTOR (0 DOWNTO 0); + + + + COMPONENT altpll + GENERIC ( + bandwidth_type : STRING; + clk0_divide_by : NATURAL; + clk0_duty_cycle : NATURAL; + clk0_multiply_by : NATURAL; + clk0_phase_shift : STRING; + clk1_divide_by : NATURAL; + clk1_duty_cycle : NATURAL; + clk1_multiply_by : NATURAL; + clk1_phase_shift : STRING; + compensate_clock : STRING; + inclk0_input_frequency : NATURAL; + intended_device_family : STRING; + lpm_hint : STRING; + lpm_type : STRING; + operation_mode : STRING; + pll_type : STRING; + port_activeclock : STRING; + port_areset : STRING; + port_clkbad0 : STRING; + port_clkbad1 : STRING; + port_clkloss : STRING; + port_clkswitch : STRING; + port_configupdate : STRING; + port_fbin : STRING; + port_inclk0 : STRING; + port_inclk1 : STRING; + port_locked : STRING; + port_pfdena : STRING; + port_phasecounterselect : STRING; + port_phasedone : STRING; + port_phasestep : STRING; + port_phaseupdown : STRING; + port_pllena : STRING; + port_scanaclr : STRING; + port_scanclk : STRING; + port_scanclkena : STRING; + port_scandata : STRING; + port_scandataout : STRING; + port_scandone : STRING; + port_scanread : STRING; + port_scanwrite : STRING; + port_clk0 : STRING; + port_clk1 : STRING; + port_clk2 : STRING; + port_clk3 : STRING; + port_clk4 : STRING; + port_clk5 : STRING; + port_clkena0 : STRING; + port_clkena1 : STRING; + port_clkena2 : STRING; + port_clkena3 : STRING; + port_clkena4 : STRING; + port_clkena5 : STRING; + port_extclk0 : STRING; + port_extclk1 : STRING; + port_extclk2 : STRING; + port_extclk3 : STRING; + self_reset_on_loss_lock : STRING; + width_clock : NATURAL + ); + PORT ( + areset : IN STD_LOGIC ; + clk : OUT STD_LOGIC_VECTOR (4 DOWNTO 0); + inclk : IN STD_LOGIC_VECTOR (1 DOWNTO 0); + locked : OUT STD_LOGIC + ); + END COMPONENT; + +BEGIN + sub_wire6_bv(0 DOWNTO 0) <= "0"; + sub_wire6 <= To_stdlogicvector(sub_wire6_bv); + sub_wire3 <= sub_wire0(0); + sub_wire1 <= sub_wire0(1); + c1 <= sub_wire1; + locked <= sub_wire2; + c0 <= sub_wire3; + sub_wire4 <= inclk0; + sub_wire5 <= sub_wire6(0 DOWNTO 0) & sub_wire4; + + altpll_component : altpll + GENERIC MAP ( + bandwidth_type => "AUTO", + clk0_divide_by => 27, + clk0_duty_cycle => 50, + clk0_multiply_by => 40, + clk0_phase_shift => "0", + clk1_divide_by => 27, + clk1_duty_cycle => 50, + clk1_multiply_by => 80, + clk1_phase_shift => "0", + compensate_clock => "CLK0", + inclk0_input_frequency => 37037, + intended_device_family => "Cyclone III", + lpm_hint => "CBX_MODULE_PREFIX=pll_mist", + lpm_type => "altpll", + operation_mode => "NORMAL", + pll_type => "AUTO", + port_activeclock => "PORT_UNUSED", + port_areset => "PORT_USED", + port_clkbad0 => "PORT_UNUSED", + port_clkbad1 => "PORT_UNUSED", + port_clkloss => "PORT_UNUSED", + port_clkswitch => "PORT_UNUSED", + port_configupdate => "PORT_UNUSED", + port_fbin => "PORT_UNUSED", + port_inclk0 => "PORT_USED", + port_inclk1 => "PORT_UNUSED", + port_locked => "PORT_USED", + port_pfdena => "PORT_UNUSED", + port_phasecounterselect => "PORT_UNUSED", + port_phasedone => "PORT_UNUSED", + port_phasestep => "PORT_UNUSED", + port_phaseupdown => "PORT_UNUSED", + port_pllena => "PORT_UNUSED", + port_scanaclr => "PORT_UNUSED", + port_scanclk => "PORT_UNUSED", + port_scanclkena => "PORT_UNUSED", + port_scandata => "PORT_UNUSED", + port_scandataout => "PORT_UNUSED", + port_scandone => "PORT_UNUSED", + port_scanread => "PORT_UNUSED", + port_scanwrite => "PORT_UNUSED", + port_clk0 => "PORT_USED", + port_clk1 => "PORT_USED", + port_clk2 => "PORT_UNUSED", + port_clk3 => "PORT_UNUSED", + port_clk4 => "PORT_UNUSED", + port_clk5 => "PORT_UNUSED", + port_clkena0 => "PORT_UNUSED", + port_clkena1 => "PORT_UNUSED", + port_clkena2 => "PORT_UNUSED", + port_clkena3 => "PORT_UNUSED", + port_clkena4 => "PORT_UNUSED", + port_clkena5 => "PORT_UNUSED", + port_extclk0 => "PORT_UNUSED", + port_extclk1 => "PORT_UNUSED", + port_extclk2 => "PORT_UNUSED", + port_extclk3 => "PORT_UNUSED", + self_reset_on_loss_lock => "OFF", + width_clock => 5 + ) + PORT MAP ( + areset => areset, + inclk => sub_wire5, + clk => sub_wire0, + locked => sub_wire2 + ); + + + +END SYN; + +-- ============================================================ +-- CNX file retrieval info +-- ============================================================ +-- Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0" +-- Retrieval info: PRIVATE: BANDWIDTH STRING "1.000" +-- Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "1" +-- Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz" +-- Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low" +-- Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1" +-- Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0" +-- Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0" +-- Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0" +-- Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "0" +-- Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0" +-- Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0" +-- Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0" +-- Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0" +-- Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "c0" +-- Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "8" +-- Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "27" +-- Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "27" +-- Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000" +-- Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000" +-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "40.000000" +-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "80.000000" +-- Retrieval info: PRIVATE: EXPLICIT_SWITCHOVER_COUNTER STRING "0" +-- Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0" +-- Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1" +-- Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "0" +-- Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "0" +-- Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575" +-- Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1" +-- Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "27.000" +-- Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz" +-- Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "100.000" +-- Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1" +-- Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1" +-- Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz" +-- Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone III" +-- Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1" +-- Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "1" +-- Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1" +-- Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "Not Available" +-- Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0" +-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg" +-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT1 STRING "ps" +-- Retrieval info: PRIVATE: MIG_DEVICE_SPEED_GRADE STRING "Any" +-- Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0" +-- Retrieval info: PRIVATE: MIRROR_CLK1 STRING "0" +-- Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "40" +-- Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "80" +-- Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1" +-- Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "40.00000000" +-- Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "80.00000000" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "0" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "0" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT1 STRING "MHz" +-- Retrieval info: PRIVATE: PHASE_RECONFIG_FEATURE_ENABLED STRING "1" +-- Retrieval info: PRIVATE: PHASE_RECONFIG_INPUTS_CHECK STRING "0" +-- Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000" +-- Retrieval info: PRIVATE: PHASE_SHIFT1 STRING "0.00000000" +-- Retrieval info: PRIVATE: PHASE_SHIFT_STEP_ENABLED_CHECK STRING "0" +-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg" +-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT1 STRING "deg" +-- Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0" +-- Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "1" +-- Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1" +-- Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0" +-- Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0" +-- Retrieval info: PRIVATE: PLL_FBMIMIC_CHECK STRING "0" +-- Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0" +-- Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0" +-- Retrieval info: PRIVATE: PLL_TARGET_HARCOPY_CHECK NUMERIC "0" +-- Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0" +-- Retrieval info: PRIVATE: RECONFIG_FILE STRING "pll_mist.mif" +-- Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0" +-- Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "1" +-- Retrieval info: PRIVATE: SELF_RESET_LOCK_LOSS STRING "0" +-- Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0" +-- Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "0" +-- Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000" +-- Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz" +-- Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.500" +-- Retrieval info: PRIVATE: SPREAD_USE STRING "0" +-- Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0" +-- Retrieval info: PRIVATE: STICKY_CLK0 STRING "1" +-- Retrieval info: PRIVATE: STICKY_CLK1 STRING "1" +-- Retrieval info: PRIVATE: SWITCHOVER_COUNT_EDIT NUMERIC "1" +-- Retrieval info: PRIVATE: SWITCHOVER_FEATURE_ENABLED STRING "1" +-- Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0" +-- Retrieval info: PRIVATE: USE_CLK0 STRING "1" +-- Retrieval info: PRIVATE: USE_CLK1 STRING "1" +-- Retrieval info: PRIVATE: USE_CLKENA0 STRING "0" +-- Retrieval info: PRIVATE: USE_CLKENA1 STRING "0" +-- Retrieval info: PRIVATE: USE_MIL_SPEED_GRADE NUMERIC "0" +-- Retrieval info: PRIVATE: ZERO_DELAY_RADIO STRING "0" +-- Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all +-- Retrieval info: CONSTANT: BANDWIDTH_TYPE STRING "AUTO" +-- Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "27" +-- Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50" +-- Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "40" +-- Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0" +-- Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "27" +-- Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50" +-- Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "80" +-- Retrieval info: CONSTANT: CLK1_PHASE_SHIFT STRING "0" +-- Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0" +-- Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "37037" +-- Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone III" +-- Retrieval info: CONSTANT: LPM_TYPE STRING "altpll" +-- Retrieval info: CONSTANT: OPERATION_MODE STRING "NORMAL" +-- Retrieval info: CONSTANT: PLL_TYPE STRING "AUTO" +-- Retrieval info: CONSTANT: PORT_ACTIVECLOCK STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_ARESET STRING "PORT_USED" +-- Retrieval info: CONSTANT: PORT_CLKBAD0 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_CLKBAD1 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_CLKLOSS STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_CLKSWITCH STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_CONFIGUPDATE STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_FBIN STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_INCLK0 STRING "PORT_USED" +-- Retrieval info: CONSTANT: PORT_INCLK1 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_LOCKED STRING "PORT_USED" +-- Retrieval info: CONSTANT: PORT_PFDENA STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_PHASECOUNTERSELECT STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_PHASEDONE STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_PHASESTEP STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_PHASEUPDOWN STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_PLLENA STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANACLR STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANCLK STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANCLKENA STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANDATA STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANDATAOUT STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANDONE STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANREAD STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANWRITE STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clk0 STRING "PORT_USED" +-- Retrieval info: CONSTANT: PORT_clk1 STRING "PORT_USED" +-- Retrieval info: CONSTANT: PORT_clk2 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clk3 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clk4 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clk5 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena0 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena1 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena2 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena3 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena4 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena5 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_extclk0 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_extclk1 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_extclk2 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_extclk3 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: SELF_RESET_ON_LOSS_LOCK STRING "OFF" +-- Retrieval info: CONSTANT: WIDTH_CLOCK NUMERIC "5" +-- Retrieval info: USED_PORT: @clk 0 0 5 0 OUTPUT_CLK_EXT VCC "@clk[4..0]" +-- Retrieval info: USED_PORT: @inclk 0 0 2 0 INPUT_CLK_EXT VCC "@inclk[1..0]" +-- Retrieval info: USED_PORT: areset 0 0 0 0 INPUT GND "areset" +-- Retrieval info: USED_PORT: c0 0 0 0 0 OUTPUT_CLK_EXT VCC "c0" +-- Retrieval info: USED_PORT: c1 0 0 0 0 OUTPUT_CLK_EXT VCC "c1" +-- Retrieval info: USED_PORT: inclk0 0 0 0 0 INPUT_CLK_EXT GND "inclk0" +-- Retrieval info: USED_PORT: locked 0 0 0 0 OUTPUT GND "locked" +-- Retrieval info: CONNECT: @areset 0 0 0 0 areset 0 0 0 0 +-- Retrieval info: CONNECT: @inclk 0 0 1 1 GND 0 0 0 0 +-- Retrieval info: CONNECT: @inclk 0 0 1 0 inclk0 0 0 0 0 +-- Retrieval info: CONNECT: c0 0 0 0 0 @clk 0 0 1 0 +-- Retrieval info: CONNECT: c1 0 0 0 0 @clk 0 0 1 1 +-- Retrieval info: CONNECT: locked 0 0 0 0 @locked 0 0 0 0 +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.vhd TRUE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.ppf TRUE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.inc FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.cmp FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.bsf FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist_inst.vhd FALSE +-- Retrieval info: LIB_FILE: altera_mf +-- Retrieval info: CBX_MODULE_PREFIX: ON diff --git a/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/rom/dotron_bg_bits_1.vhd b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/rom/dotron_bg_bits_1.vhd new file mode 100644 index 00000000..5d9df123 --- /dev/null +++ b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/rom/dotron_bg_bits_1.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity dotron_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 dotron_bg_bits_1 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"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"00",X"00",X"00",X"00",X"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"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",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"00",X"00",X"54",X"00",X"55",X"50",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"50",X"00",X"54",X"00",X"55",X"00",X"55",X"40", + X"55",X"40",X"55",X"50",X"55",X"50",X"55",X"50",X"55",X"50",X"55",X"50",X"55",X"40",X"55",X"40", + X"55",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"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"54",X"55",X"40",X"40",X"00", + X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"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"40",X"00",X"54",X"00",X"55",X"40",X"55",X"54",X"55",X"55", + X"50",X"00",X"54",X"00",X"55",X"00",X"55",X"40",X"55",X"50",X"55",X"54",X"55",X"55",X"55",X"55", + X"40",X"00",X"50",X"00",X"50",X"00",X"54",X"00",X"54",X"00",X"55",X"00",X"55",X"00",X"55",X"00", + X"00",X"00",X"55",X"00",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"00",X"00",X"00",X"00",X"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"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"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"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"54",X"00", + X"01",X"55",X"05",X"55",X"05",X"55",X"05",X"55",X"05",X"55",X"05",X"55",X"01",X"55",X"01",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"00",X"15",X"00",X"55",X"01",X"55", + X"00",X"00",X"00",X"15",X"05",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"7F",X"FD",X"7D",X"5D",X"7D",X"5D",X"75",X"5D",X"75",X"5D",X"75",X"5D",X"7F",X"FD", + X"55",X"55",X"57",X"55",X"57",X"55",X"57",X"55",X"57",X"D5",X"57",X"D5",X"57",X"D5",X"57",X"D5", + X"55",X"55",X"7F",X"FD",X"75",X"5D",X"75",X"55",X"7F",X"FD",X"55",X"7D",X"55",X"7D",X"7F",X"FD", + X"55",X"55",X"5F",X"FD",X"5D",X"55",X"7F",X"55",X"7D",X"55",X"7D",X"55",X"7D",X"5D",X"7F",X"FD", + X"55",X"55",X"5D",X"55",X"5D",X"5D",X"5D",X"5D",X"5D",X"5D",X"7F",X"FD",X"5F",X"55",X"5F",X"55", + X"55",X"55",X"7F",X"FD",X"55",X"5D",X"55",X"5D",X"7F",X"FD",X"7D",X"55",X"7D",X"5D",X"7F",X"FD", + X"55",X"55",X"7F",X"FD",X"55",X"5D",X"55",X"5D",X"7F",X"FD",X"7D",X"5D",X"7D",X"5D",X"7F",X"FD", + X"55",X"55",X"7F",X"FD",X"75",X"55",X"75",X"55",X"7D",X"55",X"7D",X"55",X"7D",X"55",X"7D",X"55", + X"55",X"55",X"5F",X"F5",X"5D",X"75",X"5D",X"75",X"7F",X"FD",X"7D",X"5D",X"7D",X"5D",X"7F",X"FD", + X"55",X"55",X"7F",X"FD",X"75",X"5D",X"75",X"5D",X"7F",X"FD",X"7D",X"55",X"7D",X"55",X"7F",X"FD", + 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"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"FF",X"FF",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",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"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"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"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"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"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"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"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"15",X"55",X"01",X"55",X"00",X"01", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01", + X"00",X"01",X"00",X"05",X"00",X"05",X"00",X"15",X"00",X"15",X"00",X"55",X"00",X"55",X"00",X"55", + X"00",X"05",X"00",X"15",X"00",X"55",X"01",X"55",X"05",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"00",X"00",X"00",X"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"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"01", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"15",X"01",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"00",X"00",X"00",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"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"55",X"00",X"55",X"00",X"15",X"00",X"05",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"0F",X"FF",X"08",X"00",X"08",X"00",X"08",X"00",X"08",X"00",X"08",X"44",X"09",X"55",X"09",X"55", + X"09",X"55",X"09",X"55",X"09",X"55",X"0A",X"66",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"FA",X"AA", + X"FB",X"BB",X"0B",X"FF",X"0B",X"FF",X"0B",X"FF",X"0B",X"FF",X"0B",X"77",X"09",X"55",X"09",X"55", + X"C0",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"03",X"80",X"0D",X"80",X"09",X"80",X"35", + X"80",X"25",X"80",X"D5",X"80",X"95",X"80",X"A6",X"83",X"AA",X"82",X"AA",X"82",X"AA",X"BE",X"AA", + X"BE",X"AA",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00", + X"80",X"03",X"80",X"02",X"80",X"02",X"80",X"02",X"80",X"02",X"80",X"02",X"80",X"02",X"80",X"02", + X"09",X"55",X"09",X"55",X"09",X"55",X"09",X"55",X"09",X"55",X"09",X"55",X"09",X"55",X"0A",X"AA", + X"EE",X"EE",X"2F",X"FE",X"3F",X"FE",X"2F",X"FE",X"FF",X"FE",X"B7",X"78",X"55",X"58",X"55",X"58", + X"55",X"60",X"55",X"5C",X"55",X"58",X"A6",X"68",X"AA",X"AB",X"2A",X"AA",X"2A",X"AA",X"EA",X"AA", + X"00",X"A5",X"00",X"09",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"FF",X"FC",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"55",X"55",X"AA",X"55", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"55",X"55",X"AA",X"AA", + X"00",X"FF",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"91",X"00",X"95",X"00",X"AA", + X"55",X"60",X"55",X"80",X"55",X"80",X"56",X"00",X"58",X"00",X"60",X"00",X"80",X"00",X"00",X"00", + X"FF",X"F5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"AA",X"A8", + 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"AA",X"AA", + X"00",X"BF",X"00",X"95",X"00",X"95",X"00",X"95",X"00",X"95",X"00",X"95",X"00",X"95",X"00",X"AA", + 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"03",X"00",X"3D", + X"00",X"00",X"C0",X"00",X"30",X"00",X"0C",X"00",X"03",X"00",X"11",X"C0",X"55",X"80",X"55",X"70", + X"00",X"FF",X"0F",X"00",X"30",X"00",X"C0",X"00",X"00",X"00",X"11",X"11",X"55",X"55",X"55",X"56", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"11",X"55",X"55",X"AA",X"AA", + X"FF",X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"12",X"00",X"56",X"00",X"AA",X"00", + X"55",X"68",X"55",X"80",X"56",X"00",X"68",X"00",X"A8",X"00",X"A0",X"00",X"A0",X"00",X"AF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"AF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"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"FF",X"F5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"AA",X"A8", + X"55",X"60",X"55",X"80",X"55",X"80",X"56",X"00",X"58",X"00",X"60",X"00",X"80",X"00",X"00",X"00", + X"FF",X"FF",X"2F",X"FE",X"2F",X"FE",X"2F",X"FE",X"FF",X"F8",X"9D",X"D8",X"55",X"58",X"55",X"60", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"CC",X"F3",X"CC",X"CC",X"CC",X"C0",X"CC", + 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"FB",X"BB",X"0B",X"FF",X"0B",X"FF",X"0B",X"FF",X"02",X"FF",X"02",X"DD",X"02",X"55",X"00",X"95", + X"00",X"95",X"03",X"55",X"02",X"55",X"02",X"99",X"0E",X"AA",X"0A",X"AA",X"0A",X"AA",X"FA",X"AA", + X"55",X"A3",X"56",X"03",X"58",X"03",X"A0",X"03",X"A0",X"03",X"80",X"03",X"80",X"03",X"BF",X"FF", + X"03",X"FF",X"3C",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"44",X"44",X"55",X"55",X"55",X"5A", + 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"03",X"00",X"3D", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"95",X"00",X"25",X"00",X"25",X"00",X"09",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"5F",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"29",X"55",X"02",X"AA", + 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"AA",X"AA", + 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"C0",X"03",X"FF",X"FF", + X"BF",X"FF",X"C0",X"03",X"80",X"03",X"F0",X"03",X"E0",X"03",X"DC",X"03",X"57",X"03",X"55",X"F3", + X"FF",X"FF",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00", + X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"0C",X"00",X"34",X"00",X"25",X"00",X"D5", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"44",X"55",X"55",X"AA",X"AA", + X"C0",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00", + X"C0",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00", + X"00",X"0A",X"00",X"2A",X"00",X"AA",X"02",X"AA",X"02",X"AA",X"0A",X"AB",X"0A",X"A3",X"0A",X"A3", + X"0A",X"A3",X"0A",X"A3",X"0A",X"AB",X"02",X"AA",X"02",X"AA",X"00",X"AA",X"00",X"2A",X"00",X"0A", + X"CA",X"A0",X"CA",X"A0",X"EA",X"A0",X"AA",X"80",X"AA",X"80",X"AA",X"00",X"A8",X"00",X"A0",X"00", + X"A0",X"00",X"A8",X"00",X"AA",X"00",X"AA",X"80",X"AA",X"80",X"EA",X"A0",X"CA",X"A0",X"CA",X"A0", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"80",X"AA",X"80",X"AA",X"80",X"AA",X"80",X"AA",X"80", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"80",X"AA",X"AA",X"AA",X"AA", + X"A8",X"00",X"A8",X"00",X"A8",X"00",X"A8",X"00",X"A8",X"00",X"00",X"00",X"A8",X"00",X"A8",X"00", + X"A8",X"00",X"A8",X"00",X"A8",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"2A",X"AA",X"2A",X"AA", + X"00",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"00",X"00",X"00", + X"AA",X"80",X"AA",X"80",X"AA",X"80",X"AA",X"80",X"AA",X"80",X"AA",X"80",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"EA",X"AA",X"EA",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"2A",X"AA",X"2A",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"00",X"00",X"00",X"00", + X"00",X"00",X"A0",X"00",X"A8",X"00",X"AA",X"00",X"AA",X"80",X"AA",X"80",X"AA",X"A0",X"2A",X"A0", + X"2A",X"A0",X"2A",X"A8",X"0A",X"A8",X"FA",X"AB",X"FF",X"FF",X"80",X"00",X"A0",X"00",X"A8",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"AA",X"AA",X"AA",X"AA",X"A8",X"AA",X"A8",X"2A", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FA",X"00",X"0A",X"00",X"0A",X"00",X"0A", + X"00",X"0A",X"00",X"0A",X"00",X"0A",X"00",X"0A",X"00",X"0A",X"00",X"0A",X"00",X"00",X"00",X"00", + X"A8",X"0A",X"A8",X"02",X"A8",X"00",X"A8",X"00",X"A8",X"00",X"A8",X"00",X"00",X"00",X"00",X"00", + X"AA",X"00",X"AA",X"80",X"AA",X"A0",X"2A",X"A8",X"0A",X"AA",X"02",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"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"2A",X"AB",X"0A",X"AA",X"0A",X"AA",X"02",X"AA",X"00",X"AA",X"80",X"0A",X"00",X"03",X"00",X"03", + X"EA",X"A8",X"AA",X"A0",X"AA",X"A0",X"AA",X"80",X"AA",X"00",X"A0",X"00",X"C0",X"00",X"C0",X"00", + X"AA",X"83",X"AA",X"83",X"AA",X"03",X"AA",X"FF",X"AA",X"FF",X"AA",X"83",X"AA",X"83",X"2A",X"A3", + X"00",X"0A",X"00",X"AA",X"02",X"AA",X"0A",X"AA",X"0A",X"AA",X"2A",X"AA",X"2A",X"AB",X"2A",X"A3", + X"A0",X"00",X"AA",X"00",X"AA",X"80",X"AA",X"A0",X"AA",X"A0",X"AA",X"A8",X"EA",X"A8",X"CA",X"A8", + X"C2",X"AA",X"C2",X"AA",X"C0",X"AA",X"FF",X"AA",X"FF",X"AA",X"C2",X"AA",X"C2",X"AA",X"CA",X"A8", + X"2A",X"A0",X"2A",X"A0",X"2A",X"A0",X"2A",X"A0",X"2A",X"A0",X"2A",X"A0",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"EA",X"AA",X"EA",X"AF",X"2A",X"A0",X"2A",X"A0",X"2A",X"A0", + X"20",X"00",X"28",X"00",X"2A",X"00",X"2A",X"80",X"2A",X"A0",X"2A",X"A8",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"33",X"30",X"30",X"C0",X"30",X"C0",X"3C",X"C0", + X"A0",X"00",X"A8",X"00",X"AA",X"00",X"AA",X"BF",X"FF",X"EA",X"00",X"0A",X"00",X"02",X"00",X"00", + X"0A",X"A8",X"0A",X"A8",X"0A",X"A8",X"FA",X"AB",X"AA",X"AB",X"AA",X"A8",X"AA",X"A8",X"AA",X"A8", + X"2A",X"A8",X"0A",X"A8",X"02",X"A8",X"00",X"A8",X"00",X"28",X"00",X"08",X"00",X"00",X"00",X"00", + X"0A",X"A8",X"0A",X"A8",X"0A",X"A8",X"0A",X"A8",X"0A",X"A8",X"0A",X"A8",X"0A",X"A8",X"0A",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"0C",X"0C",X"CC",X"CF",X"CC",X"CC",X"CF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"00",X"33",X"00",X"3C",X"00",X"3F", + X"0F",X"C0",X"30",X"30",X"C3",X"0C",X"CC",X"0C",X"CC",X"0C",X"C3",X"0C",X"30",X"30",X"0F",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"03",X"00",X"03",X"00",X"03",X"FF",X"FF",X"FF",X"FF",X"00",X"03",X"00",X"03",X"00",X"03", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"F0",X"FF",X"FC",X"00",X"3F",X"00",X"0F",X"00",X"03", + X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00", + X"00",X"00",X"33",X"F3",X"33",X"33",X"33",X"33",X"33",X"F3",X"30",X"33",X"30",X"33",X"00",X"00", + X"00",X"00",X"F3",X"F0",X"30",X"30",X"F3",X"F0",X"30",X"30",X"30",X"30",X"F3",X"F0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"30",X"00",X"F0",X"00",X"30",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3C",X"00",X"33",X"00",X"33",X"00",X"3F", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"0C",X"33",X"CC",X"33",X"3C",X"33",X"0C", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"3C",X"F3",X"3C",X"CF",X"30",X"C3",X"3C", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"C0",X"CC",X"F3",X"F0",X"CC",X"CC",X"C0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"0C",X"CC",X"CF",X"CF",X"CC",X"CC",X"CC", + X"0F",X"C0",X"30",X"30",X"C3",X"0C",X"CC",X"CC",X"CF",X"CC",X"CC",X"CC",X"30",X"30",X"0F",X"C0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"3C",X"3F",X"33",X"30",X"3F",X"3C",X"33",X"30",X"33",X"30",X"3F",X"30",X"00",X"00", + X"00",X"00",X"0F",X"00",X"30",X"C0",X"30",X"00",X"30",X"00",X"30",X"C0",X"0F",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"C0",X"CC",X"CC",X"CC",X"33",X"F0",X"33", + X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"FF",X"FF", + X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"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"0F",X"FF",X"3F",X"C0",X"FC",X"00",X"F0",X"00",X"F0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"0C",X"CC",X"C3",X"0F",X"C3",X"0C",X"C3", + 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"0F",X"F0",X"3F",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"DF",X"FF",X"D7", + X"FF",X"57",X"3F",X"57",X"0F",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"11",X"55",X"01",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"44",X"50",X"44",X"54",X"44",X"54",X"44",X"54",X"44",X"54",X"44", + X"00",X"00",X"00",X"00",X"01",X"10",X"01",X"00",X"00",X"00",X"01",X"10",X"11",X"00",X"51",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"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"54",X"54",X"55",X"04",X"55",X"45",X"55",X"45",X"55",X"45",X"55",X"45",X"55",X"50",X"55",X"14", + X"50",X"54",X"50",X"54",X"00",X"55",X"50",X"55",X"51",X"55",X"10",X"55",X"41",X"55",X"51",X"55", + X"00",X"00",X"00",X"00",X"10",X"04",X"01",X"04",X"00",X"15",X"01",X"15",X"40",X"05",X"00",X"45", + X"00",X"00",X"01",X"00",X"41",X"50",X"05",X"50",X"15",X"54",X"10",X"50",X"15",X"50",X"17",X"50", + X"00",X"00",X"40",X"00",X"54",X"00",X"44",X"50",X"50",X"44",X"44",X"44",X"44",X"44",X"41",X"50", + 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"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40", + X"55",X"54",X"51",X"54",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"5D",X"55",X"55", + X"54",X"55",X"5D",X"55",X"55",X"55",X"55",X"55",X"57",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"50",X"45",X"10",X"55",X"14",X"55",X"44",X"55",X"50",X"55",X"54",X"55",X"55",X"15",X"51",X"55", + X"15",X"54",X"11",X"55",X"51",X"54",X"11",X"50",X"45",X"50",X"55",X"54",X"15",X"54",X"11",X"54", + X"15",X"4C",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"04",X"04",X"55",X"14",X"45",X"14",X"55",X"11",X"55",X"11",X"55",X"55",X"55",X"11",X"55",X"45", + X"00",X"00",X"57",X"50",X"01",X"01",X"11",X"15",X"01",X"15",X"11",X"15",X"11",X"15",X"07",X"41", + X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"10",X"11",X"10",X"44",X"10",X"04",X"00",X"44",X"14", + X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00", + X"00",X"00",X"00",X"00",X"01",X"00",X"01",X"10",X"01",X"10",X"00",X"10",X"01",X"50",X"15",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"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"D4",X"55",X"55",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"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"5C",X"55",X"D4",X"55",X"55",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"54", + X"57",X"55",X"55",X"75",X"55",X"5D",X"55",X"55",X"55",X"75",X"55",X"55",X"55",X"55",X"55",X"55", + X"45",X"05",X"45",X"41",X"45",X"55",X"45",X"D4",X"44",X"54",X"01",X"05",X"51",X"50",X"51",X"55", + X"10",X"00",X"00",X"14",X"50",X"10",X"10",X"10",X"10",X"15",X"10",X"54",X"00",X"51",X"10",X"14", + X"01",X"00",X"01",X"50",X"11",X"04",X"01",X"01",X"41",X"45",X"41",X"15",X"41",X"55",X"41",X"54", + X"00",X"00",X"00",X"40",X"00",X"55",X"45",X"41",X"45",X"55",X"55",X"04",X"55",X"05",X"5D",X"15", + X"00",X"00",X"00",X"00",X"01",X"00",X"01",X"00",X"05",X"50",X"05",X"50",X"05",X"54",X"45",X"44", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"04",X"05", + X"00",X"00",X"10",X"00",X"10",X"10",X"54",X"04",X"55",X"00",X"55",X"00",X"55",X"55",X"75",X"55", + X"00",X"40",X"00",X"40",X"00",X"54",X"00",X"50",X"51",X"45",X"01",X"45",X"41",X"45",X"45",X"45", + X"00",X"00",X"00",X"01",X"05",X"51",X"45",X"51",X"45",X"45",X"55",X"55",X"55",X"15",X"55",X"55", + X"15",X"54",X"57",X"54",X"55",X"54",X"55",X"54",X"55",X"54",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"01",X"00",X"01",X"00",X"11",X"15",X"11",X"15",X"05",X"55",X"51",X"55",X"41",X"55",X"41", + 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"54",X"5D",X"D5",X"55",X"55",X"55",X"55",X"55",X"D5", + X"14",X"10",X"14",X"14",X"05",X"05",X"45",X"45",X"05",X"45",X"45",X"54",X"51",X"55",X"45",X"55", + X"41",X"55",X"05",X"55",X"55",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"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"45",X"54",X"45",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"45",X"44",X"45",X"40",X"45",X"55",X"05",X"55",X"45",X"51",X"15",X"55",X"55",X"55",X"55", + X"45",X"45",X"51",X"45",X"54",X"15",X"54",X"45",X"55",X"55",X"55",X"15",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"D5",X"5D",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"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"57", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"5F",X"FF",X"F5",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"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"57",X"55",X"5D",X"55",X"F5", + X"55",X"5D",X"55",X"F5",X"57",X"55",X"5D",X"55",X"F5",X"55",X"55",X"56",X"55",X"59",X"55",X"65", + X"55",X"55",X"55",X"55",X"56",X"AA",X"59",X"55",X"A5",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"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"57",X"55",X"5D",X"55",X"F5",X"57",X"55",X"5D",X"55", + X"57",X"55",X"5D",X"55",X"F5",X"55",X"55",X"55",X"55",X"5A",X"55",X"65",X"55",X"95",X"56",X"55", + X"56",X"95",X"59",X"55",X"65",X"55",X"95",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"54",X"00",X"51",X"55",X"45",X"55",X"15",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",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"57", + X"55",X"55",X"55",X"57",X"55",X"5D",X"55",X"F5",X"57",X"55",X"5D",X"55",X"F5",X"55",X"55",X"55", + X"F5",X"55",X"55",X"55",X"55",X"56",X"55",X"59",X"55",X"A5",X"56",X"55",X"59",X"55",X"65",X"55", + X"69",X"55",X"95",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"54",X"55",X"51",X"55",X"45",X"55",X"15",X"54",X"55",X"51",X"57",X"45",X"5D",X"15",X"5D", + X"55",X"55",X"57",X"FF",X"5D",X"55",X"75",X"55",X"D5",X"55",X"55",X"55",X"56",X"AA",X"59",X"55", + X"55",X"55",X"FF",X"FF",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"55",X"55", + X"14",X"00",X"15",X"50",X"15",X"55",X"15",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",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"57",X"55",X"5D",X"55",X"F5", + X"55",X"5D",X"55",X"F5",X"57",X"55",X"5D",X"55",X"F5",X"55",X"55",X"55",X"55",X"55",X"55",X"56", + X"55",X"56",X"55",X"59",X"55",X"65",X"55",X"95",X"5A",X"55",X"65",X"55",X"95",X"55",X"55",X"55", + X"95",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"54",X"55",X"51",X"55",X"45",X"55",X"15",X"54",X"55",X"51",X"55",X"45",X"55",X"15",X"57", + X"55",X"75",X"55",X"D5",X"57",X"55",X"5D",X"56",X"75",X"59",X"D5",X"65",X"D5",X"95",X"55",X"95", + X"65",X"55",X"65",X"55",X"95",X"55",X"54",X"00",X"51",X"55",X"45",X"55",X"45",X"55",X"15",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"15",X"55",X"15",X"55",X"15",X"55",X"15",X"55", + X"94",X"00",X"95",X"50",X"95",X"55",X"95",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"57",X"55",X"5D",X"55",X"F5",X"57",X"55",X"5D",X"55", + X"57",X"55",X"5D",X"55",X"F5",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"59",X"55",X"65", + X"55",X"69",X"55",X"95",X"56",X"55",X"59",X"55",X"A5",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"54",X"55",X"51",X"55",X"45",X"55",X"15",X"54",X"55",X"51",X"55",X"45",X"55",X"15",X"57", + X"55",X"5D",X"55",X"75",X"55",X"D5",X"57",X"55",X"5D",X"56",X"75",X"56",X"D5",X"59",X"55",X"65", + X"56",X"54",X"59",X"51",X"65",X"51",X"95",X"45",X"55",X"15",X"54",X"55",X"54",X"57",X"51",X"5D", + X"57",X"FF",X"5D",X"55",X"5D",X"55",X"75",X"55",X"D5",X"55",X"D6",X"AA",X"59",X"55",X"59",X"55", + X"FF",X"FF",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"55",X"55",X"55",X"55", + X"95",X"55",X"95",X"55",X"95",X"55",X"15",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"54",X"00",X"55",X"50",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"95",X"55",X"95",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"57", + X"55",X"55",X"55",X"57",X"55",X"5D",X"55",X"F5",X"57",X"55",X"5D",X"55",X"F5",X"55",X"55",X"55", + X"F5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"5A",X"55",X"65",X"55",X"95",X"56",X"55", + X"56",X"95",X"59",X"55",X"65",X"55",X"95",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"54",X"55",X"51",X"55",X"45",X"55",X"15",X"54",X"55",X"51",X"55",X"45",X"55",X"15",X"55", + X"55",X"5D",X"55",X"5D",X"55",X"75",X"55",X"D5",X"57",X"55",X"5D",X"55",X"75",X"56",X"D5",X"59", + X"55",X"95",X"56",X"55",X"59",X"55",X"59",X"54",X"65",X"51",X"95",X"45",X"55",X"45",X"55",X"15", + X"45",X"5D",X"15",X"75",X"15",X"D5",X"55",X"D6",X"57",X"56",X"5D",X"59",X"75",X"65",X"75",X"65", + X"65",X"55",X"65",X"55",X"95",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"95",X"00",X"95",X"55",X"95",X"55",X"95",X"55",X"15",X"55",X"15",X"55",X"15",X"55",X"15",X"55", + X"94",X"00",X"95",X"50",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55", + X"55",X"5D",X"55",X"F5",X"57",X"55",X"5D",X"55",X"F5",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"56",X"55",X"59",X"55",X"A5",X"56",X"55",X"59",X"55",X"65",X"55", + X"69",X"55",X"95",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"54",X"55",X"51",X"55",X"45",X"55",X"15",X"54",X"55",X"51",X"55",X"45",X"55",X"15",X"55", + X"55",X"57",X"55",X"5D",X"55",X"75",X"55",X"D5",X"55",X"D5",X"57",X"55",X"5D",X"55",X"75",X"55", + X"55",X"65",X"55",X"65",X"55",X"95",X"56",X"55",X"59",X"55",X"65",X"54",X"95",X"54",X"95",X"51", + X"54",X"55",X"51",X"57",X"51",X"57",X"45",X"5D",X"15",X"75",X"55",X"75",X"55",X"D5",X"57",X"55", + X"D5",X"95",X"56",X"55",X"56",X"55",X"59",X"55",X"65",X"55",X"65",X"55",X"95",X"55",X"95",X"55", + X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55", + X"15",X"55",X"15",X"55",X"15",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",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"56",X"55",X"59",X"55",X"65",X"55",X"95",X"5A",X"55",X"65",X"55",X"95",X"55",X"55",X"55", + X"95",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"54",X"55",X"51",X"55",X"45",X"55",X"15",X"54",X"55",X"51",X"55",X"45",X"55",X"15",X"55", + X"55",X"55",X"55",X"57",X"55",X"5D",X"55",X"75",X"55",X"D5",X"57",X"55",X"5D",X"55",X"5D",X"55", + X"D5",X"56",X"55",X"59",X"55",X"65",X"55",X"95",X"56",X"55",X"56",X"55",X"59",X"55",X"65",X"55", + X"55",X"45",X"55",X"15",X"55",X"15",X"54",X"55",X"51",X"55",X"45",X"57",X"45",X"5D",X"15",X"5D", + X"57",X"56",X"5D",X"59",X"75",X"59",X"D5",X"65",X"D5",X"95",X"55",X"95",X"56",X"55",X"59",X"55", + X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"80",X"01",X"80",X"00",X"80",X"00",X"80",X"00", + X"15",X"55",X"15",X"55",X"15",X"55",X"15",X"55",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00", + 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"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"00",X"55",X"00",X"15",X"00",X"15",X"00",X"05", + 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"54",X"55",X"51",X"55",X"45",X"55",X"15",X"54",X"55",X"51",X"55",X"45",X"55",X"15",X"55", + X"55",X"55",X"55",X"55",X"55",X"57",X"55",X"5D",X"55",X"75",X"55",X"D5",X"57",X"55",X"5D",X"55", + X"75",X"55",X"D5",X"56",X"55",X"59",X"55",X"59",X"55",X"65",X"55",X"95",X"56",X"55",X"59",X"55", + X"95",X"54",X"55",X"51",X"55",X"51",X"55",X"45",X"55",X"15",X"54",X"55",X"54",X"55",X"51",X"55", + X"55",X"75",X"55",X"D5",X"55",X"D5",X"57",X"55",X"5D",X"56",X"5D",X"56",X"75",X"59",X"D5",X"65", + X"59",X"55",X"65",X"55",X"95",X"55",X"95",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"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"05",X"00",X"01",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"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"05",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"54",X"55",X"51",X"55",X"45",X"55",X"15",X"54",X"55",X"51",X"55",X"45",X"55",X"15",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"57",X"55",X"5D",X"55",X"75",X"55",X"D5",X"57",X"55", + X"75",X"55",X"D5",X"55",X"D5",X"55",X"55",X"56",X"55",X"59",X"55",X"65",X"55",X"95",X"55",X"95", + X"65",X"55",X"65",X"55",X"95",X"55",X"55",X"54",X"55",X"51",X"55",X"45",X"55",X"45",X"55",X"15", + X"45",X"57",X"15",X"57",X"15",X"5D",X"55",X"75",X"55",X"75",X"55",X"D5",X"57",X"55",X"57",X"55", + X"55",X"65",X"55",X"95",X"56",X"55",X"56",X"55",X"59",X"55",X"65",X"55",X"65",X"55",X"95",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"01", + X"00",X"00",X"00",X"00",X"00",X"15",X"01",X"55",X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + 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"95",X"00",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55", + X"55",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"95",X"55",X"95",X"55", + X"15",X"00",X"15",X"55",X"15",X"55",X"15",X"55",X"15",X"55",X"95",X"55",X"95",X"55",X"95",X"55", + X"00",X"00",X"00",X"00",X"00",X"05",X"00",X"55",X"05",X"55",X"15",X"55",X"55",X"55",X"55",X"55", + X"01",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"54",X"00",X"55",X"50",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"40",X"00",X"54",X"00",X"55",X"40",X"55",X"50",X"55",X"54",X"55",X"55", + X"05",X"55",X"01",X"55",X"01",X"55",X"00",X"55",X"00",X"55",X"00",X"15",X"00",X"15",X"00",X"05", + X"55",X"54",X"55",X"51",X"55",X"45",X"55",X"15",X"54",X"55",X"51",X"55",X"45",X"55",X"15",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"57",X"55",X"5D",X"55",X"5D",X"55",X"75",X"55",X"D5", + X"5D",X"55",X"75",X"55",X"D5",X"55",X"55",X"55",X"55",X"56",X"55",X"56",X"55",X"59",X"55",X"65", + X"56",X"55",X"59",X"55",X"65",X"55",X"95",X"55",X"55",X"55",X"55",X"54",X"55",X"54",X"55",X"51", + X"54",X"55",X"51",X"55",X"51",X"55",X"45",X"55",X"15",X"57",X"55",X"57",X"55",X"5D",X"55",X"75", + X"5D",X"56",X"75",X"56",X"75",X"59",X"D5",X"59",X"55",X"65",X"55",X"95",X"55",X"95",X"56",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"01",X"55",X"00",X"15",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"00",X"55", + X"55",X"55",X"15",X"55",X"05",X"55",X"01",X"55",X"00",X"15",X"00",X"01",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"05",X"55",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"40", + X"55",X"55",X"55",X"55",X"55",X"54",X"55",X"50",X"55",X"00",X"50",X"00",X"00",X"00",X"00",X"00", + X"00",X"05",X"00",X"01",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"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"05",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"57",X"55",X"5D",X"55",X"75",X"55",X"D5", + X"57",X"55",X"5D",X"55",X"75",X"55",X"D5",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"59", + X"55",X"95",X"56",X"55",X"59",X"55",X"59",X"55",X"65",X"55",X"95",X"55",X"55",X"55",X"55",X"55", + X"55",X"45",X"55",X"15",X"55",X"15",X"54",X"55",X"51",X"55",X"45",X"55",X"45",X"55",X"15",X"55", + X"55",X"D5",X"55",X"D5",X"57",X"55",X"5D",X"55",X"5D",X"55",X"75",X"56",X"D5",X"59",X"D5",X"59", + X"59",X"55",X"59",X"55",X"65",X"55",X"95",X"55",X"95",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"05",X"55",X"01",X"55",X"01",X"55",X"00",X"55",X"00",X"55",X"00",X"15",X"00",X"15",X"00",X"05", + X"55",X"D5",X"57",X"55",X"5D",X"55",X"75",X"55",X"D5",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"65",X"55",X"65",X"55",X"95",X"56",X"55",X"59",X"55",X"65",X"55",X"95",X"55",X"95",X"55", + X"55",X"54",X"55",X"51",X"55",X"51",X"55",X"45",X"55",X"15",X"54",X"55",X"54",X"55",X"51",X"55", + X"55",X"57",X"55",X"5D",X"55",X"5D",X"55",X"75",X"55",X"D5",X"57",X"55",X"57",X"55",X"5D",X"55", + X"55",X"65",X"55",X"65",X"55",X"95",X"56",X"55",X"56",X"55",X"59",X"55",X"65",X"55",X"65",X"55", + X"55",X"56",X"55",X"59",X"55",X"65",X"55",X"95",X"56",X"55",X"56",X"55",X"59",X"55",X"65",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"55",X"54",X"55",X"51",X"55",X"45",X"55",X"15", + X"51",X"55",X"45",X"55",X"15",X"55",X"55",X"57",X"55",X"57",X"55",X"5D",X"55",X"75",X"55",X"75", + X"75",X"55",X"75",X"56",X"D5",X"56",X"55",X"59",X"55",X"65",X"55",X"65",X"55",X"95",X"55",X"95", + X"95",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"95",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"54",X"55",X"51", + X"55",X"15",X"54",X"55",X"51",X"55",X"45",X"55",X"45",X"55",X"15",X"55",X"55",X"55",X"55",X"57", + X"55",X"D5",X"57",X"55",X"5D",X"55",X"5D",X"55",X"75",X"55",X"D5",X"55",X"D5",X"56",X"55",X"59", + X"56",X"55",X"59",X"55",X"59",X"55",X"65",X"55",X"95",X"55",X"95",X"55",X"55",X"55",X"55",X"55", + X"55",X"51",X"55",X"45",X"55",X"15",X"54",X"55",X"54",X"55",X"51",X"55",X"45",X"55",X"15",X"55", + X"55",X"5D",X"55",X"5D",X"55",X"75",X"55",X"D5",X"55",X"D5",X"57",X"55",X"5D",X"55",X"75",X"55", + X"55",X"59",X"55",X"65",X"55",X"95",X"55",X"95",X"56",X"55",X"56",X"55",X"59",X"55",X"65",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00", + X"55",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"15",X"55",X"55",X"55",X"55",X"57",X"55",X"57",X"55",X"5D",X"55",X"75",X"55",X"75",X"55",X"D5", + X"75",X"55",X"D5",X"55",X"55",X"56",X"55",X"56",X"55",X"59",X"55",X"65",X"55",X"65",X"55",X"95", + X"65",X"55",X"95",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"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"57",X"55",X"57",X"55",X"5D",X"55",X"75",X"55",X"D5",X"55",X"55",X"55",X"55",X"55",X"55",X"56", + X"56",X"55",X"56",X"55",X"59",X"55",X"59",X"55",X"65",X"55",X"95",X"55",X"95",X"55",X"55",X"55", + X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A5",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"05",X"40", + X"55",X"59",X"55",X"59",X"55",X"65",X"55",X"95",X"55",X"95",X"56",X"55",X"59",X"55",X"59",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"01",X"55", + X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A5",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"05",X"40", + X"65",X"55",X"65",X"55",X"95",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"05",X"00",X"55",X"01",X"55",X"05",X"55", + X"00",X"01",X"00",X"55",X"05",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"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"05",X"55",X"05",X"55",X"05",X"55",X"05",X"55",X"05",X"55",X"05",X"55",X"05",X"55",X"05",X"55", + X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"05",X"00",X"05",X"00",X"15",X"00",X"15",X"00",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"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"05",X"55",X"05",X"55",X"05",X"55",X"05",X"55",X"05",X"55",X"05",X"55",X"05",X"55",X"05",X"55", + X"50",X"00",X"40",X"00",X"40",X"01",X"00",X"05",X"00",X"05",X"00",X"15",X"00",X"15",X"00",X"55", + X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00", + X"BF",X"FF",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"AA",X"AA",X"95",X"55",X"95",X"55", + X"95",X"55",X"95",X"55",X"95",X"55",X"80",X"00",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55", + X"BF",X"FF",X"95",X"55",X"15",X"55",X"15",X"55",X"15",X"55",X"2A",X"AA",X"95",X"55",X"95",X"55", + X"95",X"55",X"95",X"55",X"15",X"55",X"00",X"00",X"15",X"55",X"15",X"55",X"95",X"55",X"95",X"55", + X"00",X"00",X"00",X"00",X"40",X"00",X"50",X"00",X"50",X"00",X"54",X"00",X"54",X"00",X"55",X"00", + 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"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"00",X"55",X"00",X"55",X"40",X"55",X"50", + X"40",X"00",X"55",X"00",X"55",X"50",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"50",X"00",X"40",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"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"57",X"55",X"7F",X"D5",X"57",X"75",X"57",X"55",X"57",X"55",X"5D",X"D5",X"5D",X"D5",X"5D",X"75"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/rom/dotron_bg_bits_2.vhd b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/rom/dotron_bg_bits_2.vhd new file mode 100644 index 00000000..df922602 --- /dev/null +++ b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/rom/dotron_bg_bits_2.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity dotron_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 dotron_bg_bits_2 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"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"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"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"02",X"AA",X"00",X"0A",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"0A",X"AA",X"02",X"AA",X"00",X"AA",X"00",X"2A", + X"00",X"2A",X"00",X"0A",X"00",X"0A",X"00",X"0A",X"00",X"0A",X"00",X"0A",X"00",X"2A",X"00",X"2A", + X"00",X"AA",X"00",X"AA",X"02",X"AA",X"0A",X"AA",X"2A",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"02",X"00",X"2A",X"2A",X"AA", + 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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"2A",X"AA",X"02",X"AA",X"00",X"2A",X"00",X"02",X"00",X"00", + X"0A",X"AA",X"02",X"AA",X"00",X"AA",X"00",X"2A",X"00",X"0A",X"00",X"02",X"00",X"00",X"00",X"00", + X"2A",X"AA",X"0A",X"AA",X"0A",X"AA",X"02",X"AA",X"02",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"AA", + X"AA",X"AA",X"00",X"AA",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"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"2A",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"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"02",X"AA", + X"A8",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A8",X"00",X"A8",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"AA",X"80",X"AA",X"00",X"A8",X"00", + X"AA",X"AA",X"AA",X"80",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"15",X"54",X"14",X"04",X"14",X"04",X"10",X"04",X"10",X"04",X"10",X"04",X"15",X"54", + X"00",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"40",X"01",X"40",X"01",X"40",X"01",X"40", + X"00",X"00",X"15",X"54",X"10",X"04",X"10",X"00",X"15",X"54",X"00",X"14",X"00",X"14",X"15",X"54", + X"00",X"00",X"05",X"54",X"04",X"00",X"15",X"00",X"14",X"00",X"14",X"00",X"14",X"04",X"15",X"54", + X"00",X"00",X"04",X"00",X"04",X"04",X"04",X"04",X"04",X"04",X"15",X"54",X"05",X"00",X"05",X"00", + X"00",X"00",X"15",X"54",X"00",X"04",X"00",X"04",X"15",X"54",X"14",X"00",X"14",X"04",X"15",X"54", + X"00",X"00",X"15",X"54",X"00",X"04",X"00",X"04",X"15",X"54",X"14",X"04",X"14",X"04",X"15",X"54", + X"00",X"00",X"15",X"54",X"10",X"00",X"10",X"00",X"14",X"00",X"14",X"00",X"14",X"00",X"14",X"00", + X"00",X"00",X"05",X"50",X"04",X"10",X"04",X"10",X"15",X"54",X"14",X"04",X"14",X"04",X"15",X"54", + X"00",X"00",X"15",X"54",X"10",X"04",X"10",X"04",X"15",X"54",X"14",X"00",X"14",X"00",X"15",X"54", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08", + X"00",X"00",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"20",X"00",X"20",X"00",X"00",X"00",X"20", + X"00",X"00",X"00",X"28",X"00",X"28",X"00",X"00",X"00",X"00",X"00",X"28",X"00",X"28",X"00",X"00", + X"00",X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"02",X"80",X"02",X"80",X"02",X"80",X"02",X"80", + X"00",X"00",X"2A",X"A8",X"20",X"08",X"20",X"00",X"2A",X"A8",X"00",X"28",X"00",X"28",X"2A",X"A8", + 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"FF",X"FF",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"FF",X"FF", + X"00",X"00",X"0A",X"A0",X"08",X"20",X"08",X"20",X"2A",X"A8",X"20",X"28",X"20",X"28",X"20",X"28", + X"00",X"00",X"0A",X"A8",X"08",X"08",X"08",X"08",X"2A",X"A8",X"20",X"28",X"20",X"28",X"2A",X"A8", + X"00",X"00",X"2A",X"A8",X"20",X"08",X"00",X"08",X"00",X"28",X"00",X"28",X"20",X"28",X"2A",X"A8", + X"00",X"00",X"0A",X"A8",X"28",X"08",X"20",X"08",X"20",X"28",X"20",X"28",X"28",X"28",X"0A",X"A8", + X"00",X"00",X"2A",X"A8",X"00",X"08",X"00",X"08",X"2A",X"A8",X"00",X"28",X"00",X"28",X"2A",X"A8", + X"00",X"00",X"2A",X"A8",X"00",X"08",X"00",X"08",X"2A",X"A8",X"00",X"28",X"00",X"28",X"00",X"28", + X"00",X"00",X"2A",X"A8",X"20",X"08",X"00",X"08",X"2A",X"28",X"20",X"28",X"20",X"28",X"2A",X"A8", + X"00",X"00",X"20",X"08",X"20",X"08",X"20",X"08",X"2A",X"A8",X"20",X"28",X"20",X"28",X"20",X"28", + X"00",X"00",X"00",X"80",X"00",X"80",X"00",X"80",X"02",X"80",X"02",X"80",X"02",X"80",X"02",X"80", + X"00",X"00",X"08",X"00",X"08",X"00",X"08",X"00",X"28",X"00",X"28",X"00",X"28",X"08",X"2A",X"A8", + X"00",X"00",X"28",X"08",X"08",X"08",X"08",X"08",X"0A",X"A8",X"28",X"28",X"20",X"28",X"20",X"28", + X"00",X"00",X"00",X"08",X"00",X"08",X"00",X"08",X"00",X"28",X"00",X"28",X"00",X"28",X"2A",X"A8", + X"00",X"00",X"2A",X"A8",X"22",X"08",X"22",X"08",X"22",X"28",X"22",X"28",X"22",X"28",X"22",X"28", + X"00",X"00",X"20",X"A8",X"22",X"88",X"22",X"08",X"22",X"28",X"2A",X"28",X"28",X"28",X"28",X"28", + X"00",X"00",X"2A",X"A8",X"28",X"08",X"28",X"08",X"20",X"08",X"20",X"08",X"20",X"08",X"2A",X"A8", + X"00",X"00",X"2A",X"A8",X"20",X"08",X"20",X"08",X"2A",X"A8",X"00",X"28",X"00",X"28",X"00",X"28", + X"00",X"00",X"2A",X"A8",X"20",X"08",X"20",X"08",X"22",X"08",X"2A",X"08",X"28",X"08",X"2A",X"A8", + X"00",X"00",X"0A",X"A8",X"08",X"08",X"08",X"08",X"2A",X"A8",X"20",X"28",X"20",X"28",X"20",X"28", + X"00",X"00",X"2A",X"A8",X"20",X"08",X"00",X"08",X"2A",X"A8",X"28",X"00",X"28",X"08",X"2A",X"A8", + X"00",X"00",X"2A",X"A8",X"00",X"80",X"00",X"80",X"02",X"80",X"02",X"80",X"02",X"80",X"02",X"80", + X"00",X"00",X"20",X"08",X"20",X"08",X"20",X"08",X"20",X"28",X"20",X"28",X"20",X"28",X"2A",X"A8", + X"00",X"00",X"20",X"28",X"20",X"28",X"20",X"28",X"08",X"28",X"08",X"20",X"08",X"20",X"0A",X"A0", + X"00",X"00",X"22",X"08",X"22",X"08",X"22",X"08",X"22",X"28",X"22",X"28",X"22",X"28",X"2A",X"A8", + X"00",X"00",X"20",X"08",X"20",X"08",X"20",X"20",X"0A",X"80",X"20",X"28",X"20",X"28",X"20",X"28", + X"00",X"00",X"20",X"08",X"20",X"08",X"28",X"28",X"0A",X"A0",X"02",X"80",X"02",X"80",X"02",X"80", + X"00",X"00",X"2A",X"A8",X"28",X"08",X"0A",X"00",X"02",X"80",X"00",X"A0",X"20",X"28",X"2A",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"A8",X"00",X"AA",X"A8", + 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"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"80",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"A8", + X"AA",X"A8",X"AA",X"A0",X"AA",X"A0",X"AA",X"80",X"AA",X"80",X"AA",X"00",X"AA",X"00",X"AA",X"00", + X"AA",X"A0",X"AA",X"80",X"AA",X"00",X"A8",X"00",X"A0",X"00",X"80",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"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"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"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"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"AA",X"80",X"A8",X"00",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"00",X"AA",X"00",X"AA",X"80",X"AA",X"A0",X"AA",X"A8",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"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"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55", + X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"A1",X"55", + X"A1",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"11",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"01",X"00",X"05", + X"00",X"05",X"00",X"15",X"00",X"15",X"00",X"15",X"00",X"55",X"00",X"55",X"00",X"55",X"28",X"55", + X"28",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"88",X"02",X"AA",X"02",X"AA",X"02",X"AA",X"02",X"AA",X"00",X"00", + X"85",X"54",X"05",X"54",X"05",X"54",X"05",X"54",X"15",X"54",X"11",X"10",X"00",X"00",X"00",X"00", + X"55",X"40",X"55",X"50",X"55",X"50",X"15",X"50",X"15",X"54",X"05",X"54",X"05",X"54",X"85",X"54", + X"00",X"05",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA", + X"00",X"00",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"00",X"55", + 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"00",X"00", + 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"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"A0",X"00",X"80",X"00",X"00",X"00",X"00",X"00", + X"00",X"10",X"00",X"00",X"00",X"00",X"22",X"22",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"22",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"22",X"00",X"2A",X"00",X"2A",X"00",X"2A",X"00",X"00", + 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"40",X"00",X"50",X"00",X"54",X"00",X"55",X"00",X"55",X"00",X"55",X"40", + X"00",X"00",X"00",X"55",X"05",X"55",X"15",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"54", + 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"00",X"00", + X"00",X"00",X"54",X"00",X"54",X"00",X"54",X"00",X"54",X"00",X"54",X"00",X"54",X"00",X"00",X"00", + X"55",X"40",X"55",X"00",X"54",X"00",X"50",X"00",X"50",X"00",X"40",X"00",X"40",X"00",X"4A",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"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"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"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"AA",X"AA", + X"0A",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"88",X"88",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00", + X"00",X"10",X"00",X"00",X"00",X"00",X"88",X"88",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"A0",X"00",X"80",X"00",X"00",X"00",X"00",X"00", + X"80",X"00",X"05",X"54",X"05",X"54",X"05",X"54",X"15",X"50",X"04",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"80",X"88",X"A2",X"88",X"88",X"88",X"80",X"88", + 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"A1",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"00",X"55",X"00",X"44",X"00",X"00",X"00",X"00", + X"00",X"15",X"00",X"55",X"00",X"55",X"00",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"A1",X"55", + X"55",X"02",X"54",X"02",X"50",X"02",X"40",X"02",X"40",X"02",X"00",X"02",X"00",X"02",X"2A",X"AA", + X"00",X"00",X"01",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"50", + 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"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"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"22",X"22",X"AA",X"AA",X"2A",X"AA",X"02",X"AA",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"22",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"00",X"00", + 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"C0",X"03",X"FF",X"FF", + X"2A",X"AA",X"00",X"02",X"00",X"02",X"40",X"02",X"40",X"02",X"40",X"02",X"00",X"02",X"00",X"02", + X"AA",X"AA",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00", + X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"05",X"00",X"05",X"00",X"15", + 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"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0A",X"00",X"2A",X"00",X"AA",X"00",X"A8",X"02",X"A2",X"02",X"82",X"02",X"82", + X"02",X"82",X"02",X"82",X"02",X"A2",X"00",X"A8",X"00",X"AA",X"00",X"2A",X"00",X"0A",X"00",X"00", + X"82",X"80",X"82",X"80",X"8A",X"80",X"2A",X"00",X"AA",X"00",X"A8",X"00",X"A0",X"00",X"00",X"00", + X"00",X"00",X"A0",X"00",X"A8",X"00",X"AA",X"00",X"2A",X"00",X"8A",X"80",X"82",X"80",X"82",X"80", + X"2A",X"AA",X"2A",X"AA",X"2A",X"00",X"2A",X"00",X"2A",X"00",X"2A",X"00",X"2A",X"00",X"00",X"00", + X"00",X"00",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"00",X"2A",X"00",X"2A",X"00",X"2A",X"AA", + X"00",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"00", + X"A0",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"0A",X"A8",X"0A",X"A8",X"0A",X"A8", + X"00",X"00",X"00",X"2A",X"00",X"2A",X"00",X"2A",X"00",X"2A",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0A",X"A8",X"0A",X"A8",X"0A",X"A8",X"8A",X"A8",X"8A",X"A8",X"0A",X"A8",X"0A",X"A8",X"0A",X"A8", + X"0A",X"A8",X"0A",X"A8",X"0A",X"A8",X"0A",X"A8",X"0A",X"A8",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"2A",X"AA",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"A0",X"00",X"A8",X"00",X"AA",X"00",X"AA",X"00",X"2A",X"80",X"0A",X"80", + X"0A",X"80",X"0A",X"A0",X"02",X"A0",X"A0",X"02",X"AA",X"AA",X"00",X"00",X"80",X"00",X"A0",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"00",X"00",X"A0",X"AA",X"A0",X"2A",X"A0",X"0A", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"A0",X"00",X"02",X"00",X"02",X"00",X"02", + X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00", + X"A0",X"02",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"A8",X"00",X"AA",X"00",X"2A",X"80",X"0A",X"A0",X"02",X"A8",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0A",X"A2",X"02",X"A8",X"02",X"AA",X"00",X"AA",X"00",X"0A",X"00",X"00",X"00",X"02",X"00",X"02", + X"8A",X"A0",X"2A",X"80",X"AA",X"80",X"AA",X"00",X"A0",X"00",X"00",X"00",X"80",X"00",X"80",X"00", + X"2A",X"02",X"2A",X"02",X"28",X"02",X"28",X"AA",X"28",X"AA",X"2A",X"02",X"0A",X"02",X"0A",X"82", + X"00",X"00",X"00",X"0A",X"00",X"AA",X"02",X"AA",X"02",X"AA",X"0A",X"A8",X"0A",X"A2",X"0A",X"82", + X"00",X"00",X"A0",X"00",X"AA",X"00",X"AA",X"80",X"AA",X"80",X"2A",X"A0",X"8A",X"A0",X"82",X"A8", + X"80",X"A8",X"80",X"A8",X"80",X"28",X"AA",X"28",X"AA",X"28",X"80",X"A8",X"80",X"A0",X"82",X"A0", + X"0A",X"80",X"0A",X"80",X"0A",X"80",X"0A",X"80",X"0A",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"8A",X"80",X"8A",X"8A",X"0A",X"80",X"0A",X"80",X"0A",X"80", + X"00",X"00",X"00",X"00",X"08",X"00",X"0A",X"00",X"0A",X"80",X"0A",X"A0",X"0A",X"A8",X"0A",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"20",X"20",X"80",X"20",X"80",X"28",X"80", + X"80",X"00",X"A0",X"00",X"A8",X"00",X"00",X"2A",X"AA",X"80",X"00",X"02",X"00",X"00",X"00",X"00", + X"02",X"A0",X"02",X"A0",X"02",X"A0",X"A2",X"A2",X"02",X"A2",X"AA",X"A0",X"AA",X"A0",X"2A",X"A0", + X"0A",X"A0",X"02",X"A0",X"00",X"A0",X"00",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"02",X"A0",X"02",X"A0",X"02",X"A0",X"02",X"A0",X"02",X"A0",X"02",X"A0",X"02",X"A0", + X"00",X"00",X"00",X"00",X"00",X"00",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"02",X"08",X"08",X"88",X"8A",X"88",X"88",X"8A", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"00",X"22",X"00",X"28",X"00",X"2A", + X"0A",X"80",X"20",X"20",X"82",X"08",X"88",X"08",X"88",X"08",X"82",X"08",X"20",X"20",X"0A",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"02",X"00",X"02",X"00",X"02",X"AA",X"AA",X"AA",X"AA",X"00",X"02",X"00",X"02",X"00",X"02", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A0",X"AA",X"A8",X"00",X"2A",X"00",X"0A",X"00",X"02", + X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00", + X"00",X"00",X"22",X"A2",X"22",X"22",X"22",X"22",X"22",X"A2",X"20",X"22",X"20",X"22",X"00",X"00", + X"00",X"00",X"A2",X"A0",X"20",X"20",X"A2",X"A0",X"20",X"20",X"20",X"20",X"A2",X"A0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"20",X"00",X"A0",X"00",X"20",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"28",X"00",X"22",X"00",X"22",X"00",X"2A", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"08",X"22",X"88",X"22",X"28",X"22",X"08", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"82",X"28",X"A2",X"28",X"8A",X"20",X"82",X"28", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"80",X"88",X"A2",X"A0",X"88",X"88",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"82",X"08",X"88",X"8A",X"8A",X"88",X"88",X"88", + X"0A",X"80",X"20",X"20",X"82",X"08",X"88",X"88",X"8A",X"88",X"88",X"88",X"20",X"20",X"0A",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"28",X"2A",X"22",X"20",X"2A",X"28",X"22",X"20",X"22",X"20",X"2A",X"20",X"00",X"00", + X"00",X"00",X"0A",X"00",X"20",X"80",X"20",X"00",X"20",X"00",X"20",X"80",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"A0",X"80",X"88",X"88",X"88",X"22",X"A0",X"22", + X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"02", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",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"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"0A",X"AA",X"2A",X"80",X"A8",X"00",X"A0",X"00",X"A0",X"00",X"80",X"00",X"80",X"00",X"80",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"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"02",X"00",X"02",X"00",X"02",X"00",X"02", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"82",X"08",X"88",X"82",X"0A",X"82",X"08",X"82", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"05",X"50",X"15",X"54",X"55",X"55",X"55",X"55",X"55",X"45",X"55",X"41", + X"55",X"01",X"15",X"01",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"50",X"00",X"05",X"40",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"54",X"00",X"01",X"50",X"00",X"05",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"01",X"00", + X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00", + X"00",X"54",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"50",X"00",X"05",X"55",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00", + X"00",X"00",X"00",X"00",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"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"04",X"00",X"00", + X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"01",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40", + X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"04",X"00",X"00",X"00",X"01",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"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"04",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"04",X"00",X"44",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"00",X"00",X"10",X"00",X"04",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"10",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"40",X"00",X"00",X"00",X"00",X"04",X"40", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"40",X"04",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03", + X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"0F",X"FF",X"F1",X"00",X"01",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"03",X"00",X"0C",X"00",X"F0", + X"00",X"0C",X"00",X"F0",X"03",X"00",X"0C",X"00",X"F0",X"00",X"00",X"03",X"00",X"0C",X"00",X"30", + X"01",X"00",X"01",X"00",X"03",X"FF",X"0D",X"00",X"F1",X"00",X"01",X"00",X"01",X"00",X"03",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"0C",X"00",X"F0",X"03",X"00",X"0C",X"00", + X"03",X"00",X"0C",X"00",X"F0",X"00",X"00",X"00",X"00",X"0F",X"00",X"30",X"00",X"C0",X"03",X"00", + X"03",X"C0",X"0C",X"00",X"30",X"00",X"C0",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"03",X"00", + X"0D",X"00",X"31",X"00",X"C1",X"00",X"01",X"00",X"03",X"FF",X"0D",X"00",X"31",X"00",X"C1",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03", + X"00",X"00",X"00",X"03",X"00",X"0C",X"00",X"F0",X"03",X"00",X"0C",X"00",X"F0",X"00",X"00",X"00", + X"F0",X"00",X"00",X"00",X"00",X"03",X"00",X"0C",X"00",X"F0",X"03",X"00",X"0C",X"00",X"30",X"00", + X"3C",X"00",X"C0",X"00",X"00",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"03",X"00",X"0C",X"00", + X"3C",X"03",X"C0",X"0C",X"00",X"30",X"00",X"C0",X"03",X"00",X"0C",X"02",X"30",X"08",X"C0",X"08", + X"01",X"00",X"02",X"AA",X"09",X"00",X"21",X"00",X"81",X"00",X"01",X"00",X"02",X"AA",X"09",X"00", + X"00",X"00",X"AA",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"00",X"00", + X"02",X"AA",X"00",X"0A",X"00",X"00",X"00",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"0C",X"00",X"F0", + X"00",X"0C",X"00",X"F0",X"03",X"00",X"0C",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"03", + X"00",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"0F",X"00",X"30",X"00",X"C0",X"00",X"00",X"00", + X"C0",X"00",X"00",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"03",X"00",X"0C",X"00",X"30",X"00", + X"30",X"03",X"C0",X"0C",X"00",X"30",X"00",X"C0",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"02", + X"00",X"20",X"00",X"80",X"02",X"00",X"08",X"02",X"20",X"08",X"80",X"20",X"80",X"80",X"00",X"80", + X"21",X"00",X"21",X"00",X"81",X"00",X"01",X"55",X"05",X"00",X"11",X"00",X"11",X"00",X"41",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"42",X"AA",X"40",X"0A",X"40",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"0C",X"00",X"F0",X"03",X"00",X"0C",X"00", + X"03",X"00",X"0C",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"0C",X"00",X"30", + X"00",X"3C",X"00",X"C0",X"03",X"00",X"0C",X"00",X"F0",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"3C",X"00",X"C0",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"00", + X"C0",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"02", + X"00",X"08",X"00",X"20",X"00",X"80",X"02",X"00",X"08",X"02",X"20",X"02",X"80",X"08",X"00",X"20", + X"02",X"01",X"08",X"04",X"20",X"04",X"80",X"10",X"00",X"40",X"01",X"00",X"01",X"00",X"04",X"00", + X"00",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"00",X"00",X"01",X"00",X"01",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"40",X"00",X"40",X"00",X"40",X"00",X"15",X"55",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA", + X"02",X"AA",X"00",X"0A",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"40",X"00",X"40",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03", + X"00",X"00",X"00",X"03",X"00",X"0C",X"00",X"F0",X"03",X"00",X"0C",X"00",X"F0",X"00",X"00",X"00", + X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"00",X"30",X"00",X"C0",X"03",X"00", + X"03",X"C0",X"0C",X"00",X"30",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03", + X"00",X"03",X"00",X"0C",X"00",X"F0",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"00",X"00",X"00", + X"00",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"00", + X"00",X"08",X"00",X"08",X"00",X"20",X"00",X"80",X"02",X"00",X"08",X"00",X"20",X"02",X"80",X"08", + X"00",X"80",X"02",X"00",X"08",X"00",X"08",X"01",X"20",X"04",X"80",X"10",X"00",X"10",X"00",X"40", + X"10",X"00",X"40",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"40",X"AA",X"40",X"00",X"40",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"42",X"AA",X"40",X"0A",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00", + X"00",X"0C",X"00",X"F0",X"03",X"00",X"0C",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"0C",X"00",X"F0",X"03",X"00",X"0C",X"00",X"30",X"00", + X"3C",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"0C", + X"00",X"0C",X"00",X"30",X"00",X"C0",X"0F",X"00",X"30",X"00",X"C0",X"00",X"00",X"00",X"00",X"00", + X"00",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"00", + X"00",X"02",X"00",X"08",X"00",X"20",X"00",X"80",X"00",X"80",X"02",X"00",X"08",X"00",X"20",X"00", + X"00",X"20",X"00",X"20",X"00",X"80",X"02",X"00",X"08",X"00",X"20",X"01",X"80",X"01",X"80",X"04", + X"01",X"00",X"04",X"00",X"04",X"00",X"10",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00", + X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40", + X"00",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"0F",X"00",X"30",X"00",X"C0",X"00",X"00",X"00", + X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"0C",X"00",X"30", + X"00",X"30",X"00",X"C0",X"03",X"00",X"3C",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"00", + X"00",X"00",X"00",X"02",X"00",X"08",X"00",X"20",X"00",X"80",X"02",X"00",X"08",X"00",X"08",X"00", + X"80",X"02",X"00",X"08",X"00",X"20",X"00",X"80",X"02",X"00",X"02",X"00",X"08",X"00",X"20",X"00", + X"00",X"10",X"00",X"40",X"00",X"40",X"01",X"00",X"04",X"00",X"10",X"00",X"10",X"00",X"40",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"40",X"00",X"40",X"00",X"40",X"00",X"55",X"55",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"6A",X"A8",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"15",X"55",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"40",X"00",X"40",X"00",X"40",X"55",X"40",X"AA",X"40",X"AA",X"90",X"AA",X"90",X"AA",X"A4", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"0C",X"00",X"30",X"00",X"C0", + X"00",X"C0",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"00", + X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"08",X"00",X"20",X"00",X"80",X"02",X"00",X"08",X"00", + X"20",X"00",X"80",X"02",X"00",X"08",X"00",X"08",X"00",X"20",X"00",X"80",X"02",X"00",X"08",X"00", + X"80",X"01",X"00",X"04",X"00",X"04",X"00",X"10",X"00",X"40",X"01",X"00",X"01",X"00",X"04",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"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"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA", + X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",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"AA",X"A4",X"AA",X"A9",X"AA",X"A9",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"40",X"00",X"40",X"00",X"90",X"00",X"90",X"00",X"A4",X"00", + X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"08",X"00",X"20",X"00",X"80",X"02",X"00", + X"20",X"00",X"80",X"00",X"80",X"00",X"00",X"02",X"00",X"08",X"00",X"20",X"00",X"80",X"00",X"80", + X"20",X"00",X"20",X"00",X"80",X"00",X"00",X"01",X"00",X"04",X"00",X"10",X"00",X"10",X"00",X"40", + X"10",X"00",X"40",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"A8", + X"AA",X"AA",X"AA",X"AA",X"AA",X"80",X"A8",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + 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"40",X"AA",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00", + X"00",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"40",X"00",X"40",X"00", + X"00",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"40",X"00",X"40",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"AA",X"00",X"A0",X"00",X"80",X"00",X"00",X"00",X"00",X"00", + X"A8",X"00",X"00",X"00",X"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"AA",X"00",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"AA",X"AA",X"AA",X"AA",X"2A",X"AA",X"02",X"AA",X"00",X"2A",X"00",X"0A",X"00",X"02",X"00",X"00", + X"A4",X"00",X"A9",X"00",X"A9",X"00",X"AA",X"40",X"AA",X"40",X"AA",X"90",X"AA",X"90",X"AA",X"A4", + X"00",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"03",X"00",X"0C",X"00",X"30",X"00",X"C0",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"08",X"00",X"08",X"00",X"20",X"00",X"80", + X"08",X"00",X"20",X"00",X"80",X"00",X"00",X"00",X"00",X"02",X"00",X"02",X"00",X"08",X"00",X"20", + X"02",X"00",X"08",X"00",X"20",X"00",X"80",X"00",X"00",X"00",X"00",X"01",X"00",X"01",X"00",X"04", + X"01",X"00",X"04",X"00",X"04",X"00",X"10",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"A8",X"00",X"AA",X"80",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"AA",X"00", + X"00",X"00",X"80",X"00",X"A0",X"00",X"A8",X"00",X"AA",X"80",X"AA",X"A8",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"A0",X"00",X"AA",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"2A", + X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"0A",X"00",X"AA",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"A4",X"AA",X"A9",X"AA",X"A9",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"40",X"00",X"40",X"00",X"90",X"00",X"90",X"00",X"A4",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"08",X"00",X"20",X"00",X"80", + X"02",X"00",X"08",X"00",X"20",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"08", + X"00",X"80",X"02",X"00",X"08",X"00",X"08",X"00",X"20",X"00",X"80",X"00",X"00",X"00",X"00",X"00", + X"00",X"10",X"00",X"40",X"00",X"40",X"01",X"00",X"04",X"00",X"10",X"00",X"10",X"00",X"40",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"A4",X"00",X"A9",X"00",X"A9",X"00",X"AA",X"40",X"AA",X"40",X"AA",X"90",X"AA",X"90",X"AA",X"A4", + X"00",X"80",X"02",X"00",X"08",X"00",X"20",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"20",X"00",X"20",X"00",X"80",X"02",X"00",X"08",X"00",X"20",X"00",X"80",X"00",X"80",X"00", + X"00",X"01",X"00",X"04",X"00",X"04",X"00",X"10",X"00",X"40",X"01",X"00",X"01",X"00",X"04",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"02",X"00",X"08",X"00",X"20",X"00",X"80",X"02",X"00",X"02",X"00",X"08",X"00",X"20",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"01",X"00",X"04",X"00",X"10",X"00",X"40", + X"04",X"00",X"10",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"04", + X"00",X"40",X"01",X"00",X"04",X"00",X"10",X"00",X"10",X"00",X"40",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"04",X"00",X"10",X"00",X"40",X"01",X"00",X"01",X"00",X"04",X"00",X"10",X"00",X"40",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA", + X"00",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"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA", + X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",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"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"50",X"2A", + X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"00",X"2A", + X"00",X"00",X"00",X"00",X"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"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"00", + X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"50",X"2A", + X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"00",X"2A", + X"00",X"00",X"00",X"00",X"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"A0",X"AA",X"00",X"A8",X"00",X"A0",X"00", + X"AA",X"A8",X"AA",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"50",X"00",X"50",X"00",X"50",X"00",X"50",X"00",X"50",X"00",X"50",X"00",X"50",X"00",X"50",X"00", + X"00",X"00",X"00",X"00",X"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"A8",X"AA",X"A0",X"AA",X"A0",X"AA",X"80",X"AA",X"80",X"AA",X"00", + X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"50",X"00",X"50",X"00",X"50",X"00",X"50",X"00",X"50",X"00",X"50",X"00",X"50",X"00",X"50",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"1A",X"AA",X"6A",X"AA",X"6A",X"A8",X"AA",X"A0",X"AA",X"A0",X"AA",X"80",X"AA",X"80",X"AA",X"00", + X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",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"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00", + X"40",X"00",X"40",X"00",X"40",X"00",X"55",X"55",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"00", + X"40",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"40",X"00", + X"40",X"00",X"40",X"00",X"00",X"00",X"15",X"55",X"00",X"00",X"00",X"00",X"40",X"00",X"40",X"00", + X"AA",X"AA",X"AA",X"AA",X"2A",X"AA",X"0A",X"AA",X"0A",X"AA",X"02",X"AA",X"02",X"AA",X"00",X"AA", + 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"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"0A",X"AA",X"00",X"AA",X"00",X"2A",X"00",X"0A", + X"2A",X"AA",X"00",X"AA",X"00",X"0A",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"1A",X"AA",X"6A",X"AA",X"6A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"2A",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"01",X"00",X"15",X"40",X"01",X"10",X"01",X"00",X"01",X"00",X"04",X"40",X"04",X"40",X"04",X"10"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/rom/midssio_82s123.vhd b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/rom/midssio_82s123.vhd new file mode 100644 index 00000000..daecc05c --- /dev/null +++ b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/rom/midssio_82s123.vhd @@ -0,0 +1,24 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity midssio_82s123 is +port ( + clk : in std_logic; + addr : in std_logic_vector(4 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of midssio_82s123 is + type rom is array(0 to 31) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"FF",X"FF",X"FE",X"FF",X"FF",X"FD",X"FF",X"FE",X"FF",X"F7", + X"FB",X"EF",X"6D",X"07",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/sdram.sv b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/sdram.sv new file mode 100644 index 00000000..49ea563d --- /dev/null +++ b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/sdram.sv @@ -0,0 +1,343 @@ +// +// sdram.v +// +// sdram controller implementation for the MiST board +// https://github.com/mist-devel/mist-board +// +// Copyright (c) 2013 Till Harbaum +// Copyright (c) 2019 Gyorgy Szombathelyi +// +// This source file is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This source file is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// + +module sdram ( + + // interface to the MT48LC16M16 chip + inout reg [15:0] SDRAM_DQ, // 16 bit bidirectional data bus + output reg [12:0] SDRAM_A, // 13 bit multiplexed address bus + output reg SDRAM_DQML, // two byte masks + output reg SDRAM_DQMH, // two byte masks + output reg [1:0] SDRAM_BA, // two banks + output SDRAM_nCS, // a single chip select + output SDRAM_nWE, // write enable + output SDRAM_nRAS, // row address select + output SDRAM_nCAS, // columns address select + + // cpu/chipset interface + input init_n, // init signal after FPGA config to initialize RAM + input clk, // sdram clock + + input port1_req, + output reg port1_ack, + input port1_we, + input [23:1] port1_a, + input [1:0] port1_ds, + input [15:0] port1_d, + output reg [15:0] port1_q, + + input [16:1] cpu1_addr, + output reg [15:0] cpu1_q, + input [16:1] cpu2_addr, + output reg [15:0] cpu2_q, + + input port2_req, + output reg port2_ack, + input port2_we, + input [23:1] port2_a, + input [1:0] port2_ds, + input [15:0] port2_d, + output reg [31:0] port2_q, + + input [16:2] sp_addr, + output reg [31:0] sp_q +); + +localparam RASCAS_DELAY = 3'd2; // tRCD=20ns -> 2 cycles@<100MHz +localparam BURST_LENGTH = 3'b001; // 000=1, 001=2, 010=4, 011=8 +localparam ACCESS_TYPE = 1'b0; // 0=sequential, 1=interleaved +localparam CAS_LATENCY = 3'd2; // 2/3 allowed +localparam OP_MODE = 2'b00; // only 00 (standard operation) allowed +localparam NO_WRITE_BURST = 1'b1; // 0= write burst enabled, 1=only single access write + +localparam MODE = { 3'b000, NO_WRITE_BURST, OP_MODE, CAS_LATENCY, ACCESS_TYPE, BURST_LENGTH}; + +// 64ms/8192 rows = 7.8us -> 842 cycles@108MHz +localparam RFRSH_CYCLES = 10'd842; + +// --------------------------------------------------------------------- +// ------------------------ cycle state machine ------------------------ +// --------------------------------------------------------------------- + +/* + SDRAM state machine for 2 bank interleaved access + 1 word burst, CL2 +cmd issued registered + 0 RAS0 cas1 - data0 read burst terminated + 1 ras0 + 2 data1 returned + 3 CAS0 data1 returned + 4 RAS1 cas0 + 5 ras1 + 6 CAS1 data0 returned +*/ + +localparam STATE_RAS0 = 3'd0; // first state in cycle +localparam STATE_RAS1 = 3'd4; // Second ACTIVE command after RAS0 + tRRD (15ns) +localparam STATE_CAS0 = STATE_RAS0 + RASCAS_DELAY + 1'd1; // CAS phase - 3 +localparam STATE_CAS1 = STATE_RAS1 + RASCAS_DELAY; // CAS phase - 6 +localparam STATE_READ0 = 3'd0;// STATE_CAS0 + CAS_LATENCY + 2'd2; // 7 +localparam STATE_READ1 = 3'd3; +localparam STATE_DS1b = 3'd0; +localparam STATE_READ1b = 3'd4; +localparam STATE_LAST = 3'd6; + +reg [2:0] t; + +always @(posedge clk) begin + t <= t + 1'd1; + if (t == STATE_LAST) t <= STATE_RAS0; +end + +// --------------------------------------------------------------------- +// --------------------------- startup/reset --------------------------- +// --------------------------------------------------------------------- + +// wait 1ms (32 8Mhz cycles) after FPGA config is done before going +// into normal operation. Initialize the ram in the last 16 reset cycles (cycles 15-0) +reg [4:0] reset; +reg init = 1'b1; +always @(posedge clk, negedge init_n) begin + if(!init_n) begin + reset <= 5'h1f; + init <= 1'b1; + end else begin + if((t == STATE_LAST) && (reset != 0)) reset <= reset - 5'd1; + init <= !(reset == 0); + end +end + +// --------------------------------------------------------------------- +// ------------------ generate ram control signals --------------------- +// --------------------------------------------------------------------- + +// all possible commands +localparam CMD_INHIBIT = 4'b1111; +localparam CMD_NOP = 4'b0111; +localparam CMD_ACTIVE = 4'b0011; +localparam CMD_READ = 4'b0101; +localparam CMD_WRITE = 4'b0100; +localparam CMD_BURST_TERMINATE = 4'b0110; +localparam CMD_PRECHARGE = 4'b0010; +localparam CMD_AUTO_REFRESH = 4'b0001; +localparam CMD_LOAD_MODE = 4'b0000; + +reg [3:0] sd_cmd; // current command sent to sd ram +reg [15:0] sd_din; +// drive control signals according to current command +assign SDRAM_nCS = sd_cmd[3]; +assign SDRAM_nRAS = sd_cmd[2]; +assign SDRAM_nCAS = sd_cmd[1]; +assign SDRAM_nWE = sd_cmd[0]; + +reg [24:1] addr_latch[2]; +reg [24:1] addr_latch_next[2]; +reg [16:1] addr_last[2]; +reg [16:2] addr_last2[2]; +reg [15:0] din_latch[2]; +reg [1:0] oe_latch; +reg [1:0] we_latch; +reg [1:0] ds[2]; + +localparam PORT_NONE = 2'd0; +localparam PORT_CPU1 = 2'd1; +localparam PORT_CPU2 = 2'd2; +localparam PORT_SP = 2'd1; +localparam PORT_REQ = 2'd3; + +reg [1:0] next_port[2]; +reg [1:0] port[2]; + +reg refresh; +reg [10:0] refresh_cnt; +wire need_refresh = (refresh_cnt >= RFRSH_CYCLES); + +// PORT1: bank 0,1 +always @(*) begin + if (refresh) begin + next_port[0] = PORT_NONE; + addr_latch_next[0] = addr_latch[0]; + end else if (port1_req ^ port1_ack) begin + next_port[0] = PORT_REQ; + addr_latch_next[0] = { 1'b0, port1_a }; + end else if (cpu1_addr != addr_last[PORT_CPU1]) begin + next_port[0] = PORT_CPU1; + addr_latch_next[0] = { 8'd0, cpu1_addr }; + end else if (cpu2_addr != addr_last[PORT_CPU2]) begin + next_port[0] = PORT_CPU2; + addr_latch_next[0] = { 8'd0, cpu2_addr }; + end else begin + next_port[0] = PORT_NONE; + addr_latch_next[0] = addr_latch[0]; + end +end + +// PORT1: bank 2,3 +always @(*) begin + if (port2_req ^ port2_ack) begin + next_port[1] = PORT_REQ; + addr_latch_next[1] = { 1'b1, port2_a }; + end else if (sp_addr != addr_last2[PORT_SP]) begin + next_port[1] = PORT_SP; + addr_latch_next[1] = { 1'b1, 7'd0, sp_addr, 1'b0 }; + end else begin + next_port[1] = PORT_NONE; + addr_latch_next[1] = addr_latch[1]; + end +end + +always @(posedge clk) begin + + // permanently latch ram data to reduce delays + sd_din <= SDRAM_DQ; + SDRAM_DQ <= 16'bZZZZZZZZZZZZZZZZ; + { SDRAM_DQMH, SDRAM_DQML } <= 2'b11; + sd_cmd <= CMD_NOP; // default: idle + refresh_cnt <= refresh_cnt + 1'd1; + + if(init) begin + // initialization takes place at the end of the reset phase + if(t == STATE_RAS0) begin + + if(reset == 15) begin + sd_cmd <= CMD_PRECHARGE; + SDRAM_A[10] <= 1'b1; // precharge all banks + end + + if(reset == 10 || reset == 8) begin + sd_cmd <= CMD_AUTO_REFRESH; + end + + if(reset == 2) begin + sd_cmd <= CMD_LOAD_MODE; + SDRAM_A <= MODE; + SDRAM_BA <= 2'b00; + end + end + end else begin + // RAS phase + // bank 0,1 + if(t == STATE_RAS0) begin + addr_latch[0] <= addr_latch_next[0]; + port[0] <= next_port[0]; + { oe_latch[0], we_latch[0] } <= 2'b00; + + if (next_port[0] != PORT_NONE) begin + sd_cmd <= CMD_ACTIVE; + SDRAM_A <= addr_latch_next[0][22:10]; + SDRAM_BA <= addr_latch_next[0][24:23]; + addr_last[next_port[0]] <= addr_latch_next[0][16:1]; + if (next_port[0] == PORT_REQ) begin + { oe_latch[0], we_latch[0] } <= { ~port1_we, port1_we }; + ds[0] <= port1_ds; + din_latch[0] <= port1_d; + end else begin + { oe_latch[0], we_latch[0] } <= 2'b10; + ds[0] <= 2'b11; + end + end + end + + // bank 2,3 + if(t == STATE_RAS1) begin + refresh <= 1'b0; + addr_latch[1] <= addr_latch_next[1]; + { oe_latch[1], we_latch[1] } <= 2'b00; + port[1] <= next_port[1]; + + if (next_port[1] != PORT_NONE) begin + sd_cmd <= CMD_ACTIVE; + SDRAM_A <= addr_latch_next[1][22:10]; + SDRAM_BA <= addr_latch_next[1][24:23]; + addr_last2[next_port[1]] <= addr_latch_next[1][16:2]; + if (next_port[1] == PORT_REQ) begin + { oe_latch[1], we_latch[1] } <= { ~port1_we, port1_we }; + ds[1] <= port2_ds; + din_latch[1] <= port2_d; + end else begin + { oe_latch[1], we_latch[1] } <= 2'b10; + ds[1] <= 2'b11; + end + end + + if (next_port[1] == PORT_NONE && need_refresh && !we_latch[0] && !oe_latch[0]) begin + refresh <= 1'b1; + refresh_cnt <= 0; + sd_cmd <= CMD_AUTO_REFRESH; + end + end + + // CAS phase + if(t == STATE_CAS0 && (we_latch[0] || oe_latch[0])) begin + sd_cmd <= we_latch[0]?CMD_WRITE:CMD_READ; + { SDRAM_DQMH, SDRAM_DQML } <= ~ds[0]; + if (we_latch[0]) begin + SDRAM_DQ <= din_latch[0]; + port1_ack <= port1_req; + end + SDRAM_A <= { 4'b0010, addr_latch[0][9:1] }; // auto precharge + SDRAM_BA <= addr_latch[0][24:23]; + end + + if(t == STATE_CAS1 && (we_latch[1] || oe_latch[1])) begin + sd_cmd <= we_latch[1]?CMD_WRITE:CMD_READ; + { SDRAM_DQMH, SDRAM_DQML } <= ~ds[1]; + if (we_latch[1]) begin + SDRAM_DQ <= din_latch[1]; + port2_ack <= port2_req; + end + SDRAM_A <= { 4'b0010, addr_latch[1][9:1] }; // auto precharge + SDRAM_BA <= addr_latch[1][24:23]; + end + + // Data returned + if(t == STATE_READ0 && oe_latch[0]) begin + case(port[0]) + PORT_REQ: begin port1_q <= sd_din; port1_ack <= port1_req; end + PORT_CPU1: begin cpu1_q <= sd_din; end + PORT_CPU2: begin cpu2_q <= sd_din; end + default: ; + endcase; + end + + if(t == STATE_READ1 && oe_latch[1]) begin + case(port[1]) + PORT_REQ: port2_q[15:0] <= sd_din; + PORT_SP : sp_q[15:0] <= sd_din; + default: ; + endcase; + end + + if(t == STATE_DS1b && oe_latch[1]) { SDRAM_DQMH, SDRAM_DQML } <= ~ds[1]; + + if(t == STATE_READ1b && oe_latch[1]) begin + case(port[1]) + PORT_REQ: begin port2_q[31:16] <= sd_din; port2_ack <= port2_req; end + PORT_SP : begin sp_q[31:16] <= sd_din; end + default: ; + endcase; + end + end +end + +endmodule diff --git a/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/tapper_sound_board.vhd b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/tapper_sound_board.vhd new file mode 100644 index 00000000..92166a7d --- /dev/null +++ b/Arcade_MiST/Midway MCR 3/Discs of Tron_MiST/rtl/tapper_sound_board.vhd @@ -0,0 +1,556 @@ +--------------------------------------------------------------------------------- +-- Tapper sound board by Dar (darfpga@aol.fr) (19/10/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +-- gen_ram.vhd & io_ps2_keyboard +-------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +--------------------------------------------------------------------------------- +-- T80/T80se - Version : 304 +----------------------------- +-- Z80 compatible microprocessor core +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +--------------------------------------------------------------------------------- +-- YM2149 (AY-3-8910) +-- Copyright (c) MikeJ - Jan 2005 +--------------------------------------------------------------------------------- +-- Educational use only +-- Do not redistribute synthetized file with roms +-- Do not redistribute roms whatever the form +-- Use at your own risk +--------------------------------------------------------------------------------- +-- +-- SOUND : 1xZ80 @ 2.0MHz CPU accessing its program rom, working ram, 2x-AY3-8910 +-- 8Kx8bits program rom +-- 1Kx8bits working ram +-- +-- 1xAY-3-8910 +-- 3 sound channels +-- +-- 1xAY-3-8910 +-- 3 sound channels +-- +-- 6 sound modulation (required 8MHz signal => 40MHz/5) +-- 2 global volume control (not activated - not sure it was used for kick ) +-- +-- I/O : +-- 4x8bits command registers from main cpu board (IRAM) +-- 1x8bits status registers to main cpu board (STAT) +-- 5x8bits input buffers to main cpu board (IP0-IP5) +-- 2x8bits output registers from main cpu board (OP0/OP4) +-- +--------------------------------------------------------------------------------- +-- Schematics remarks : +-- Not sure global volume are used => both deactivated +-- Not sure if global channels are mixed together or not => allow for +-- external control mixed/separated +--------------------------------------------------------------------------------- + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity tapper_sound_board is +port( + clock_40 : in std_logic; + reset : in std_logic; + + main_cpu_addr : in std_logic_vector(7 downto 0); + + ssio_iowe : in std_logic; + ssio_di : in std_logic_vector(7 downto 0); + ssio_do : out std_logic_vector(7 downto 0); + + 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); + + 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); + + cpu_rom_addr : out std_logic_vector(13 downto 0); + cpu_rom_do : in std_logic_vector(7 downto 0); + + dbg_cpu_addr : out std_logic_vector(15 downto 0) + ); +end tapper_sound_board; + +architecture struct of tapper_sound_board is + + signal reset_n : std_logic; + signal clock_snd : std_logic; + signal clock_sndn: std_logic; + + signal clock_cnt1 : std_logic_vector(4 downto 0) := "00000"; + + signal cpu_ena : std_logic; + signal ena_4Mhz : std_logic; + signal clk_8Mhz : std_logic; + + signal cpu_addr : std_logic_vector(15 downto 0); + signal cpu_di : std_logic_vector( 7 downto 0); + signal cpu_do : std_logic_vector( 7 downto 0); + signal cpu_wr_n : std_logic; + signal cpu_rd_n : std_logic; + signal cpu_mreq_n : std_logic; + signal cpu_ioreq_n : std_logic; + signal cpu_irq_n : std_logic; + signal cpu_m1_n : std_logic; + +-- signal cpu_rom_do : std_logic_vector( 7 downto 0); + + signal wram_we : std_logic; + signal wram_do : std_logic_vector( 7 downto 0); + + signal iram_0_do : std_logic_vector( 7 downto 0); + signal iram_1_do : std_logic_vector( 7 downto 0); + signal iram_2_do : std_logic_vector( 7 downto 0); + signal iram_3_do : std_logic_vector( 7 downto 0); + + signal ssio_status : std_logic_vector( 7 downto 0); + + signal div_E11 : std_logic_vector(2 downto 0); -- binary counter 3msb of E11 - 74161 + signal div_D11 : std_logic_vector(3 downto 0); -- decade counter - D11 - 74160 + signal div_C12 : std_logic_vector(6 downto 0); -- stage ripple counter - C12 - MC140247 + signal clr_int : std_logic; + + signal ay1_audio_chan : std_logic_vector( 1 downto 0); + signal ay1_audio_muxed: std_logic_vector( 7 downto 0); + signal ay1_bc1 : std_logic; + signal ay1_bdir : std_logic; + signal ay1_do : std_logic_vector( 7 downto 0); + signal ay1_cs : std_logic; + signal ay1_port_a : std_logic_vector( 7 downto 0); + signal ay1_port_b : std_logic_vector( 7 downto 0); + + signal ay2_audio_chan : std_logic_vector( 1 downto 0); + signal ay2_audio_muxed: std_logic_vector( 7 downto 0); + signal ay2_bc1 : std_logic; + signal ay2_bdir : std_logic; + signal ay2_do : std_logic_vector( 7 downto 0); + signal ay2_cs : std_logic; + signal ay2_port_a : std_logic_vector( 7 downto 0); + signal ay2_port_b : std_logic_vector( 7 downto 0); + + signal ssio_82s123_addr : std_logic_vector(4 downto 0); + signal ssio_82s123_do : std_logic_vector(7 downto 0); + signal ssio_modulation_clock : std_logic; + signal ssio_modulation_clock_r : std_logic; + signal ssio_modulation_load : std_logic; + signal modulation_counter_a1 : std_logic_vector(3 downto 0); + signal modulation_counter_b1 : std_logic_vector(3 downto 0); + signal modulation_counter_c1 : std_logic_vector(3 downto 0); + signal modulation_counter_a2 : std_logic_vector(3 downto 0); + signal modulation_counter_b2 : std_logic_vector(3 downto 0); + signal modulation_counter_c2 : std_logic_vector(3 downto 0); + + signal ch_a1 : std_logic_vector(7 downto 0); + signal ch_b1 : std_logic_vector(7 downto 0); + signal ch_c1 : std_logic_vector(7 downto 0); + signal ch_a2 : std_logic_vector(7 downto 0); + signal ch_b2 : std_logic_vector(7 downto 0); + signal ch_c2 : std_logic_vector(7 downto 0); + + -- K volume data : 148 138 127 112 95 72 42 0 + type bytes_array is array(0 to 7) of std_logic_vector(7 downto 0); + signal K_volume : bytes_array := (X"94",X"8A",X"7F",X"70",X"5F",X"48",X"2A",X"00"); + + signal volume_ch1 : std_logic_vector(7 downto 0); + signal volume_ch2 : std_logic_vector(7 downto 0); + + signal snd_1 : std_logic_vector(17 downto 0); + signal snd_2 : std_logic_vector(17 downto 0); + signal snd_mono : std_logic_vector(18 downto 0); + +begin + +clock_snd <= clock_40; +clock_sndn <= not clock_40; +reset_n <= not reset; + +-- debug +process (reset, clock_snd) +begin + if rising_edge(clock_snd) and cpu_ena ='1' and cpu_mreq_n ='0' then + dbg_cpu_addr <= cpu_addr; + end if; +end process; + +-- make enables clock from clock_snd +process (clock_snd, reset) +begin + if reset='1' then + clock_cnt1 <= (others=>'0'); + clk_8Mhz <= '0'; + else + if rising_edge(clock_snd) then + if clock_cnt1 = "10011" then -- divide by 20 + clock_cnt1 <= (others=>'0'); + else + clock_cnt1 <= clock_cnt1 + 1; + end if; + + if clock_cnt1 = "10011" or + clock_cnt1 = "00100" or + clock_cnt1 = "01001" or + clock_cnt1 = "01110" then + + clk_8Mhz <= not clk_8Mhz; -- (50% duty cycle) + end if; + + end if; + end if; +end process; +-- +cpu_ena <= '1' when clock_cnt1 = "00000" else '0'; -- (2.0MHz) + +ena_4Mhz <= '1' when clock_cnt1 = "00000" or + clock_cnt1 = "01010" else '0'; -- (4.0MHz) + +------------------------------------------ +-- cpu data input with address decoding -- +------------------------------------------ +cpu_di <= cpu_rom_do when cpu_mreq_n = '0' and cpu_addr(15 downto 14) = "00" else -- 0x0000-0x3FFF + wram_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12) = X"8" else -- 0x8000-0x83FF + iram_0_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9000" else + iram_1_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9001" else + iram_2_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9002" else + iram_3_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9003" else + ay1_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12)= X"A" else + ay2_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12)= X"B" else + x"FF" when cpu_mreq_n = '0' and cpu_addr(15 downto 12)= X"F" else -- 0xF000 (sw3 dip - D14) + X"FF"; + +------------------------------------------ +-- write enable to working ram from CPU -- +-- clear interrupt, cs for AY3-8910 -- +-- ssio output to main cpu (read input) -- +-- ssio status to main cpu -- +------------------------------------------ +wram_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and cpu_addr(15 downto 12) = X"8" else '0'; -- 0x8000-0x83FF +clr_int <= '1' when cpu_mreq_n = '0' and cpu_rd_n = '0' and cpu_addr(15 downto 12) = X"E" else '0'; -- 0xE000-0xEFFF + +ay1_cs <= '1' when cpu_mreq_n = '0' and (cpu_rd_n = '0' or cpu_wr_n = '0') and cpu_addr(15 downto 12) = X"A" else '0'; -- 0xA000-0xAFFF +ay2_cs <= '1' when cpu_mreq_n = '0' and (cpu_rd_n = '0' or cpu_wr_n = '0') and cpu_addr(15 downto 12) = X"B" else '0'; -- 0xB000-0xBFFF + +ay1_bdir <= not (not ay1_cs or cpu_addr(0) ); +ay1_bc1 <= not (not ay1_cs or cpu_addr(1) ); +ay2_bdir <= not (not ay2_cs or cpu_addr(0) ); +ay2_bc1 <= not (not ay2_cs or cpu_addr(1) ); + +ssio_do <= input_0 when main_cpu_addr(2 downto 0) = "000" else -- Input 0 -- players, coins, ... + input_1 when main_cpu_addr(2 downto 0) = "001" else -- Input 1 + input_2 when main_cpu_addr(2 downto 0) = "010" else -- Input 2 + input_3 when main_cpu_addr(2 downto 0) = "011" else -- Input 3 -- sw1 dip + input_4 when main_cpu_addr(2 downto 0) = "100" else -- Input 4 + ssio_status when main_cpu_addr(2 downto 0) = "111" else -- ssio status + x"FF"; + +process (clock_snd) +begin + if rising_edge(clock_snd) then + if cpu_wr_n = '0' and cpu_addr(15 downto 12) = X"C" then ssio_status <= cpu_do; end if; -- 0xC000-0xCFFF + end if; +end process; + +------------------------------------------------------------------------ +-- Misc registers : interrupt, counters E11/D11/C12 +------------------------------------------------------------------------ +process (clock_snd, reset, clr_int, ena_4Mhz) +begin + if reset = '1' then + div_E11 <= (others => '0'); -- 3msb of E11 + div_D11 <= (others => '0'); -- decade counter + div_C12 <= (others => '0'); -- MC14024 + else + if rising_edge(clock_snd) then + + if ena_4Mhz = '1' then + + div_E11 <= div_E11 + 1; + + if div_E11 = "111" then + if div_D11 = "1001" then + div_D11 <= (others => '0'); + else + div_D11 <= div_D11 + 1; + end if; + + if div_D11 = "0100" then + div_C12 <= div_C12 + 1; + end if; + + end if; + + end if; + + if clr_int = '1' then + div_C12 <= (others => '0'); + end if; + + end if; + end if; +end process; + +cpu_irq_n <= not div_C12(6); + +------------------------------- +-- sound modulation / volume -- +------------------------------- + +ssio_82s123_addr <= div_D11 & div_E11(2); + +--74166 8 bits shift register (D13) +ssio_modulation_clock <= ssio_82s123_do(7-to_integer(unsigned(div_E11(1 downto 0) & clk_8Mhz))); +ssio_modulation_load <= '1' when div_D11 = "1001" else '0'; + +-- AY-3-8910 #1 +-- ch A (pin 4) modulated by counter controled by port A3-0 (pin 18->21) +-- ch B (pin 3) modulated by counter controled by port A7-4 (pin 14->17) +-- ch C (pin 38) modulated by counter controled by port B3-0 (pin 10->13) +-- mute left and right port B7 (pin 6) +-- volume#1 contoled by port B6-4 (pin 7->9) + +-- AY-3-8910 #2 +-- ch A (pin 4) modulated by counter controled by port A3-0 (pin 18->21) +-- ch B (pin 3) modulated by counter controled by port A7-4 (pin 14->17) +-- ch C (pin 38) modulated by counter controled by port B3-0 (pin 10->13) +-- mute global port B7 (pin 6) +-- volume#2 contoled by port B6-4 (pin 7->9) + +-- 4051 cmos mux (D5 and E3) +-- CBA +-- 000 => switch X0 (pin 13) ON others OFF +-- 001 => switch X1 (pin 14) ON others OFF +-- ... +-- 111 => switch X7 (pin 4) ON others OFF + +-- Assuming R179 to R187 equivalent to +-- +-- -------- +-- --------| R2 |-------- -- with R1 = 24k + n*4.7k +-- ^ | -------- | ^ -- R2 = 24k +-- | --- --- | -- R3 = (7-n)*4.7 +-- | | | | | | -- +-- Vin | | | R1 R3 | | | Vout -- n being 4051 CBA value +-- | | | | | | -- +-- | --- --- | -- which gives +-- | | | | -- Vout = Vin * (7-n)*4.7/(24+(7-n)*4.7) +-- ------------------------ +-- +-- let : Vout = Vin * K(n) = Vin * (7-n)*4.7/(24+(7-n)*4.7) * 256 +-- +-- with K(n) = [148 138 127 112 95 72 42 0] +-- + +process (clock_snd, ssio_modulation_clock, ssio_modulation_load) +begin + if rising_edge(clock_snd) then + ssio_modulation_clock_r <= ssio_modulation_clock; + + if ssio_modulation_load = '1' then + modulation_counter_a1 <= ay1_port_a(3 downto 0); + modulation_counter_b1 <= ay1_port_a(7 downto 4); + modulation_counter_c1 <= ay1_port_b(3 downto 0); + modulation_counter_a2 <= ay2_port_a(3 downto 0); + modulation_counter_b2 <= ay2_port_a(7 downto 4); + modulation_counter_c2 <= ay2_port_b(3 downto 0); + else + if ssio_modulation_clock = '1' and ssio_modulation_clock_r = '0' then + if modulation_counter_a1 > X"0" then modulation_counter_a1 <= modulation_counter_a1 - 1; end if; + if modulation_counter_b1 > X"0" then modulation_counter_b1 <= modulation_counter_b1 - 1; end if; + if modulation_counter_c1 > X"0" then modulation_counter_c1 <= modulation_counter_c1 - 1; end if; + if modulation_counter_a2 > X"0" then modulation_counter_a2 <= modulation_counter_a2 - 1; end if; + if modulation_counter_b2 > X"0" then modulation_counter_b2 <= modulation_counter_b2 - 1; end if; + if modulation_counter_c2 > X"0" then modulation_counter_c2 <= modulation_counter_c2 - 1; end if; + end if; + end if; + + case ay1_audio_chan is + when "00" => if modulation_counter_a1 = x"0" then ch_a1 <= ay1_audio_muxed; else ch_a1 <= (others => '0'); end if; + when "01" => if modulation_counter_b1 = x"0" then ch_b1 <= ay1_audio_muxed; else ch_b1 <= (others => '0'); end if; + when "10" => if modulation_counter_c1 = x"0" then ch_c1 <= ay1_audio_muxed; else ch_c1 <= (others => '0'); end if; + when others => null; + end case; + + case ay2_audio_chan is + when "00" => if modulation_counter_a2 = x"0" then ch_a2 <= ay2_audio_muxed; else ch_a2 <= (others => '0'); end if; + when "01" => if modulation_counter_b2 = x"0" then ch_b2 <= ay2_audio_muxed; else ch_b2 <= (others => '0'); end if; + when "10" => if modulation_counter_c2 = x"0" then ch_c2 <= ay2_audio_muxed; else ch_c2 <= (others => '0'); end if; + when others => null; + end case; + +-- volume_ch1 <= K_volume(to_integer(unsigned(ay1_port_b(6 downto 4)))); +-- volume_ch2 <= K_volume(to_integer(unsigned(ay2_port_b(6 downto 4)))); +-- volume_ch2 <= K_volume(to_integer(unsigned(ay1_port_b(6 downto 4)))); -- use ch1 control otherwise ch2 is always OFF! + + volume_ch1 <= X"FF"; -- finaly don't use volume controls + volume_ch2 <= X"FF"; + + if ay1_audio_chan = "00" then + snd_1 <= (("00"&ch_a1) + ("00"&ch_b1) + ("00"&ch_c1)) * volume_ch1; + end if; + + if ay2_audio_chan = "00" then + snd_2 <= (("00"&ch_a2) + ("00"&ch_b2) + ("00"&ch_c2)) * volume_ch2; + end if; + + end if; +end process; + +snd_mono <= ('0'&snd_1) + ('0'&snd_2); + +audio_out_l <= snd_1(17 downto 2) when separate_audio = '1' else snd_mono(18 downto 3); +audio_out_r <= snd_2(17 downto 2) when separate_audio = '1' else snd_mono(18 downto 3); + +------------------------------ +-- components & sound board -- +------------------------------ + +-- microprocessor Z80 +cpu : entity work.T80se +generic map(Mode => 0, T2Write => 1, IOWait => 1) +port map( + RESET_n => reset_n, + CLK_n => clock_snd, + CLKEN => cpu_ena, + WAIT_n => '1', + INT_n => cpu_irq_n, + NMI_n => '1', --cpu_nmi_n, + BUSRQ_n => '1', + M1_n => cpu_m1_n, + MREQ_n => cpu_mreq_n, + IORQ_n => cpu_ioreq_n, + RD_n => cpu_rd_n, + WR_n => cpu_wr_n, + RFSH_n => open, + HALT_n => open, + BUSAK_n => open, + A => cpu_addr, + DI => cpu_di, + DO => cpu_do +); + +-- cpu program ROM 0x0000-0x3FFF +--rom_cpu : entity work.timber_sound_cpu +--port map( +-- clk => clock_sndn, +-- addr => cpu_addr(13 downto 0), +-- data => cpu_rom_do +--); +cpu_rom_addr <= cpu_addr(13 downto 0); + +-- working RAM 0x8000-0x83FF +wram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 10) +port map( + clk => clock_sndn, + we => wram_we, + addr => cpu_addr(9 downto 0), + d => cpu_do, + q => wram_do +); + +-- iram (command from main cpu to sound cpu) +process (clock_snd, reset, ssio_iowe) +begin + if reset = '1' then + iram_0_do <= (others => '0'); + iram_1_do <= (others => '0'); + iram_2_do <= (others => '0'); + iram_3_do <= (others => '0'); + else + if rising_edge(clock_snd) then + if ssio_iowe = '1' and main_cpu_addr(7 downto 2) = "000111" then -- 0x1C - 0x1F + case main_cpu_addr(1 downto 0) is + when "00" => iram_0_do <= ssio_di; + when "01" => iram_1_do <= ssio_di; + when "10" => iram_2_do <= ssio_di; + when "11" => iram_3_do <= ssio_di; + when others => null; + end case; + end if; + end if; + end if; +end process; + +-- AY-3-8910 # 1 +ay_3_8910_1 : entity work.YM2149 +port map( + -- data bus + I_DA => cpu_do, -- in std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA => ay1_do, -- out std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA_OE_L => open, -- out std_logic; + -- control + I_A9_L => '0', -- in std_logic; -- pin 24 + I_A8 => '1', -- in std_logic; -- pin 25 + I_BDIR => ay1_bdir, -- in std_logic; -- pin 27 + I_BC2 => '1', -- in std_logic; -- pin 28 + I_BC1 => ay1_bc1, -- in std_logic; -- pin 29 + I_SEL_L => '0', -- in std_logic; + + O_AUDIO => ay1_audio_muxed, -- out std_logic_vector(7 downto 0); + O_CHAN => ay1_audio_chan, -- out std_logic_vector(1 downto 0); + + -- port a + I_IOA => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA => ay1_port_a, -- out std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA_OE_L => open, -- out std_logic; + -- port b + I_IOB => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB => ay1_port_b, -- out std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB_OE_L => open, -- out std_logic; + + ENA => cpu_ena, -- in std_logic; -- clock enable for higher speed operation + RESET_L => reset_n, -- in std_logic; + CLK => clock_snd -- in std_logic -- note 6 Mhz +); + + +-- AY-3-8910 # 2 +ay_3_8910_2 : entity work.YM2149 +port map( + -- data bus + I_DA => cpu_do, -- in std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA => ay2_do, -- out std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA_OE_L => open, -- out std_logic; + -- control + I_A9_L => '0', -- in std_logic; -- pin 24 + I_A8 => '1', -- in std_logic; -- pin 25 + I_BDIR => ay2_bdir, -- in std_logic; -- pin 27 + I_BC2 => '1', -- in std_logic; -- pin 28 + I_BC1 => ay2_bc1, -- in std_logic; -- pin 29 + I_SEL_L => '0', -- in std_logic; + + O_AUDIO => ay2_audio_muxed, -- out std_logic_vector(7 downto 0); + O_CHAN => ay2_audio_chan, -- out std_logic_vector(1 downto 0); + + -- port a + I_IOA => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA => ay2_port_a, -- out std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA_OE_L => open, -- out std_logic; + -- port b + I_IOB => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB => ay2_port_b, -- out std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB_OE_L => open, -- out std_logic; + + ENA => cpu_ena, -- in std_logic; -- clock enable for higher speed operation + RESET_L => reset_n, -- in std_logic; + CLK => clock_snd -- in std_logic -- note 6 Mhz +); + +-- midway ssio sound modulation prom +midssio : entity work.midssio_82s123 +port map( + clk => clock_sndn, + addr => ssio_82s123_addr, + data => ssio_82s123_do +); + +end struct; \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR 3/DisksofTron_MiST/Snapshot/DoTron.rbf b/Arcade_MiST/Midway MCR 3/DisksofTron_MiST/Snapshot/DoTron.rbf deleted file mode 100644 index 646bf7453e8a3d327e3050f2ae78d5a26eb8e25c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 319173 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%0DG#P=nJ__*tu?Xq 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πkZE^r>}fj4^kWP*@E9;% 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 G*Z&7iB&pH> diff --git a/Arcade_MiST/README.txt b/Arcade_MiST/README.txt index 05afc8e7..482d5588 100644 --- a/Arcade_MiST/README.txt +++ b/Arcade_MiST/README.txt @@ -111,6 +111,11 @@ Aviable Arcade Cores Two Tigers(Tron Conversation) Wacko +#Midway MCR 3 + Discs of Tron + Tapper + Timber + #Namco Rally X Hardware Rally X

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 H+wuPb4qTES diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/clean.bat b/Arcade_MiST/Midway MCR 2/Journey_MiST/clean.bat new file mode 100644 index 00000000..b3b7c3b5 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/clean.bat @@ -0,0 +1,37 @@ +@echo off +del /s *.bak +del /s *.orig +del /s *.rej +del /s *~ +rmdir /s /q db +rmdir /s /q incremental_db +rmdir /s /q output_files +rmdir /s /q simulation +rmdir /s /q greybox_tmp +rmdir /s /q hc_output +rmdir /s /q .qsys_edit +rmdir /s /q hps_isw_handoff +rmdir /s /q sys\.qsys_edit +rmdir /s /q sys\vip +cd sys +for /d %%i in (*_sim) do rmdir /s /q "%%~nxi" +cd .. +for /d %%i in (*_sim) do rmdir /s /q "%%~nxi" +del build_id.v +del c5_pin_model_dump.txt +del PLLJ_PLLSPE_INFO.txt +del /s *.qws +del /s *.ppf +del /s *.ddb +del /s *.csv +del /s *.cmp +del /s *.sip +del /s *.spd +del /s *.bsf +del /s *.f +del /s *.sopcinfo +del /s *.xml +del /s new_rtl_netlist +del /s old_rtl_netlist + +pause diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/Journey_MiST.sv b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/Journey_MiST.sv new file mode 100644 index 00000000..36f873d0 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/Journey_MiST.sv @@ -0,0 +1,322 @@ +//============================================================================ +// Arcade: Journey by DarFPGA +// +// 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 +// Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +//============================================================================ + +module Journey_MiST( + output LED, + output [5:0] VGA_R, + output [5:0] VGA_G, + output [5:0] VGA_B, + output VGA_HS, + output VGA_VS, + output AUDIO_L, + output AUDIO_R, + input SPI_SCK, + output SPI_DO, + input SPI_DI, + input SPI_SS2, + input SPI_SS3, + input CONF_DATA0, + input CLOCK_27, + output [12:0] SDRAM_A, + inout [15:0] SDRAM_DQ, + output SDRAM_DQML, + output SDRAM_DQMH, + output SDRAM_nWE, + output SDRAM_nCAS, + output SDRAM_nRAS, + output SDRAM_nCS, + output [1:0] SDRAM_BA, + output SDRAM_CLK, + output SDRAM_CKE +); + +`include "rtl/build_id.v" + +localparam CONF_STR = { + "JOURNEY;;", + "O2,Rotate Controls,Off,On;", + "O34,Scanlines,Off,25%,50%,75%;", + "O5,Blend,Off,On;", + "O6,Service,Off,On;", + "T0,Reset;", + "V,v1.0.",`BUILD_DATE +}; + +assign LED = ~ioctl_downl; +assign SDRAM_CLK = clk_mem; +assign SDRAM_CKE = 1; + +wire clk_sys, clk_mem; +wire pll_locked; +pll_mist pll( + .inclk0(CLOCK_27), + .areset(0), + .c0(clk_sys), + .c1(clk_mem), + .locked(pll_locked) + ); + +wire [31:0] status; +wire [1:0] buttons; +wire [1:0] switches; +wire [7:0] joystick_0; +wire [7:0] joystick_1; +wire scandoublerD; +wire ypbpr; +wire [15:0] audio_l, audio_r; +wire hs, vs; +wire blankn; +wire [2:0] g, r, b; +wire [15:0] rom_addr; +wire [15:0] rom_do; +wire [13:0] snd_addr; +wire [15:0] snd_do; +wire [14:0] sp_addr; +wire [31:0] sp_do; +wire ioctl_downl; +wire [7:0] ioctl_index; +wire ioctl_wr; +wire [24:0] ioctl_addr; +wire [7:0] ioctl_dout; + +data_io data_io( + .clk_sys ( clk_sys ), + .SPI_SCK ( SPI_SCK ), + .SPI_SS2 ( SPI_SS2 ), + .SPI_DI ( SPI_DI ), + .ioctl_download( ioctl_downl ), + .ioctl_index ( ioctl_index ), + .ioctl_wr ( ioctl_wr ), + .ioctl_addr ( ioctl_addr ), + .ioctl_dout ( ioctl_dout ) +); + +//wire [24:0] sp_ioctl_addr = ioctl_addr - 17'h12000; //SP ROM offset: 0x12000 +wire [24:0] sp_ioctl_addr = ioctl_addr - 16'he000; //SP ROM offset: 0x12000 + +reg port1_req, port2_req; +sdram sdram( + .*, + .init_n ( pll_locked ), + .clk ( clk_mem ), + + // port1 used for main + sound CPU + .port1_req ( port1_req ), + .port1_ack ( ), + .port1_a ( ioctl_addr[23:1] ), + .port1_ds ( {ioctl_addr[0], ~ioctl_addr[0]} ), + .port1_we ( ioctl_downl ), + .port1_d ( {ioctl_dout, ioctl_dout} ), + .port1_q ( ), + + .cpu1_addr ( ioctl_downl ? 16'hffff : {1'b0, rom_addr[15:1]} ), + .cpu1_q ( rom_do ), + .cpu2_addr ( ioctl_downl ? 16'hffff : (16'h5000 + snd_addr[13:1]) ), + .cpu2_q ( snd_do ), + + // port2 for sprite graphics + .port2_req ( port2_req ), + .port2_ack ( ), + .port2_a ( {sp_ioctl_addr[14:0], sp_ioctl_addr[16]} ), // merge sprite roms to 32-bit wide words + .port2_ds ( {sp_ioctl_addr[15], ~sp_ioctl_addr[15]} ), + .port2_we ( ioctl_downl ), + .port2_d ( {ioctl_dout, ioctl_dout} ), + .port2_q ( ), + + .sp_addr ( ioctl_downl ? 15'h7fff : sp_addr ), + .sp_q ( sp_do ) +); + +// ROM download controller +always @(posedge clk_sys) begin + reg ioctl_wr_last = 0; + + ioctl_wr_last <= ioctl_wr; + if (ioctl_downl) begin + if (~ioctl_wr_last && ioctl_wr) begin + port1_req <= ~port1_req; + port2_req <= ~port2_req; + end + end +end + +// reset signal generation +reg reset = 1; +reg rom_loaded = 0; +always @(posedge clk_sys) begin + reg ioctl_downlD; + reg [15:0] reset_count; + ioctl_downlD <= ioctl_downl; + + // generate a second reset signal - needed for some reason + if (status[0] | buttons[1] | ~rom_loaded) reset_count <= 16'hffff; + else if (reset_count != 0) reset_count <= reset_count - 1'd1; + + if (ioctl_downlD & ~ioctl_downl) rom_loaded <= 1; + reset <= status[0] | buttons[1] | ~rom_loaded | (reset_count == 16'h0001); + +end + +journey journey( + .clock_40(clk_sys), + .reset(reset), + .video_r(r), + .video_g(g), + .video_b(b), + .video_blankn(blankn), + .video_hs(hs), + .video_vs(vs), + .separate_audio(1'b0), + .audio_out_l(audio_l), + .audio_out_r(audio_r), + .coin1(btn_coin), + .coin2(1'b0), + .start2(btn_two_players), + .start1(btn_one_player), + + .left1(m_left1), + .right1(m_right1), + .up1(m_up1), + .down1(m_down1), + .fire1(m_fire1), + + .left2(m_left2), + .right2(m_right2), + .up2(m_up2), + .down2(m_down2), + .fire2(m_fire2), + + + .cocktail(0), + .coin_meters(1), + .service(status[6]), + .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] ), + .sp_addr ( sp_addr ), + .sp_graphx32_do ( sp_do ) +); + +mist_video #(.COLOR_DEPTH(3), .SD_HCNT_WIDTH(10)) mist_video( + .clk_sys ( clk_sys ), + .SPI_SCK ( SPI_SCK ), + .SPI_SS3 ( SPI_SS3 ), + .SPI_DI ( SPI_DI ), + .R ( blankn ? r : 0 ), + .G ( blankn ? g : 0 ), + .B ( blankn ? b : 0 ), + .HSync ( hs ), + .VSync ( vs ), + .VGA_R ( VGA_R ), + .VGA_G ( VGA_G ), + .VGA_B ( VGA_B ), + .VGA_VS ( VGA_VS ), + .VGA_HS ( VGA_HS ), + .rotate ( {1'b1,status[2]} ), + .ce_divider ( 1 ), + .blend ( status[5] ), + .scandoubler_disable(1),//scandoublerD ), + .scanlines ( status[4:3] ), + .ypbpr ( ypbpr ) + ); + +user_io #( + .STRLEN(($size(CONF_STR)>>3))) +user_io( + .clk_sys (clk_sys ), + .conf_str (CONF_STR ), + .SPI_CLK (SPI_SCK ), + .SPI_SS_IO (CONF_DATA0 ), + .SPI_MISO (SPI_DO ), + .SPI_MOSI (SPI_DI ), + .buttons (buttons ), + .switches (switches ), + .scandoubler_disable (scandoublerD ), + .ypbpr (ypbpr ), + .key_strobe (key_strobe ), + .key_pressed (key_pressed ), + .key_code (key_code ), + .joystick_0 (joystick_0 ), + .joystick_1 (joystick_1 ), + .status (status ) + ); + +dac #( + .C_bits(16)) +dac_l( + .clk_i(clk_sys), + .res_n_i(1), + .dac_i(audio_l), + .dac_o(AUDIO_L) + ); + +dac #( + .C_bits(16)) +dac_r( + .clk_i(clk_sys), + .res_n_i(1), + .dac_i(audio_r), + .dac_o(AUDIO_R) + ); + +// Rotated Normal +wire m_up1 = ~status[2] ? btn_left | joystick_1[1] : btn_up | joystick_1[3]; +wire m_down1 = ~status[2] ? btn_right | joystick_1[0] : btn_down | joystick_1[2]; +wire m_left1 = ~status[2] ? btn_down | joystick_1[2] : btn_left | joystick_1[1]; +wire m_right1 = ~status[2] ? btn_up | joystick_1[3] : btn_right | joystick_1[0]; +wire m_fire1 = btn_fire1 | joystick_1[4]; + +wire m_up2 = ~status[2] ? joystick_0[1] : joystick_0[3]; +wire m_down2 = ~status[2] ? joystick_0[0] : joystick_0[2]; +wire m_left2 = ~status[2] ? joystick_0[2] : joystick_0[1]; +wire m_right2 = ~status[2] ? joystick_0[3] : joystick_0[0]; +wire m_fire2 = joystick_0[4]; + +reg btn_one_player = 0; +reg btn_two_players = 0; +reg btn_left = 0; +reg btn_right = 0; +reg btn_down = 0; +reg btn_up = 0; +reg btn_fire1 = 0; +//reg btn_fire2 = 0; +//reg btn_fire3 = 0; +reg btn_coin = 0; +wire key_pressed; +wire [7:0] key_code; +wire key_strobe; + +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 + end +end + +endmodule diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80.vhd new file mode 100644 index 00000000..4150a43d --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80.vhd @@ -0,0 +1,1097 @@ +-- **** +-- T80(b) core. In an effort to merge and maintain bug fixes .... +-- +-- Ver 304 init values of registers on first startup (better simulation) +-- Ver 303 add undocumented DDCB and FDCB opcodes by TobiFlex 20.04.2010 +-- Ver 302 fixed IO cycle timing, tested thanks to Alessandro. +-- Ver 301 parity flag is just parity for 8080, also overflow for Z80, by Sean Riddle +-- Ver 300 started tidyup. Rmoved some auto_wait bits from 0247 which caused problems +-- +-- MikeJ March 2005 +-- Latest version from www.fpgaarcade.com (original www.opencores.org) +-- +-- $Id: T80.vhd 1330 2015-05-22 19:55:46Z wolfgang.scherr $ +-- +-- **** +-- +-- Z80 compatible microprocessor core +-- +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +-- MikeJ March 2005 +-- Wolfgang Scherr 2011-2015 (email: WoS pin4 at) +-- +-- All rights reserved +-- +-- Redistribution and use in source and synthezised forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- Redistributions in synthesized form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- Neither the name of the author nor the names of other contributors may +-- be used to endorse or promote products derived from this software without +-- specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE +-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- +-- Please report bugs to the author, but before you do so, please +-- make sure that this is not a derivative work and that +-- you have the latest version of this file. +-- +-- The latest version of this file can be found at: +-- http://www.opencores.org/cvsweb.shtml/t80/ +-- +-- Limitations : +-- +-- File history : +-- +-- 0208 : First complete release +-- +-- 0210 : Fixed wait and halt +-- +-- 0211 : Fixed Refresh addition and IM 1 +-- +-- 0214 : Fixed mostly flags, only the block instructions now fail the zex regression test +-- +-- 0232 : Removed refresh address output for Mode > 1 and added DJNZ M1_n fix by Mike Johnson +-- +-- 0235 : Added clock enable and IM 2 fix by Mike Johnson +-- +-- 0237 : Changed 8080 I/O address output, added IntE output +-- +-- 0238 : Fixed (IX/IY+d) timing and 16 bit ADC and SBC zero flag +-- +-- 0240 : Added interrupt ack fix by Mike Johnson, changed (IX/IY+d) timing and changed flags in GB mode +-- +-- 0242 : Added I/O wait, fixed refresh address, moved some registers to RAM +-- +-- 0247 : Fixed bus req/ack cycle +-- + +library IEEE; +use IEEE.std_logic_1164.all; +use IEEE.numeric_std.all; +use work.T80_Pack.all; + +entity T80 is + generic( + Mode : integer := 0; -- 0 => Z80, 1 => Fast Z80, 2 => 8080, 3 => GB + IOWait : integer := 0; -- 1 => Single cycle I/O, 1 => Std I/O cycle + Flag_C : integer := 0; + Flag_N : integer := 1; + Flag_P : integer := 2; + Flag_X : integer := 3; + Flag_H : integer := 4; + Flag_Y : integer := 5; + Flag_Z : integer := 6; + Flag_S : integer := 7 + ); + port( + RESET_n : in std_logic; + CLK_n : in std_logic; + CEN : in std_logic; + WAIT_n : in std_logic; + INT_n : in std_logic; + NMI_n : in std_logic; + BUSRQ_n : in std_logic; + M1_n : out std_logic; + IORQ : out std_logic; + NoRead : out std_logic; + Write : out std_logic; + RFSH_n : out std_logic; + HALT_n : out std_logic; + BUSAK_n : out std_logic; + A : out std_logic_vector(15 downto 0); + DInst : in std_logic_vector(7 downto 0); + DI : in std_logic_vector(7 downto 0); + DO : out std_logic_vector(7 downto 0); + MC : out std_logic_vector(2 downto 0); + TS : out std_logic_vector(2 downto 0); + IntCycle_n : out std_logic; + IntE : out std_logic; + Stop : out std_logic + ); +end T80; + +architecture rtl of T80 is + + constant aNone : std_logic_vector(2 downto 0) := "111"; + constant aBC : std_logic_vector(2 downto 0) := "000"; + constant aDE : std_logic_vector(2 downto 0) := "001"; + constant aXY : std_logic_vector(2 downto 0) := "010"; + constant aIOA : std_logic_vector(2 downto 0) := "100"; + constant aSP : std_logic_vector(2 downto 0) := "101"; + constant aZI : std_logic_vector(2 downto 0) := "110"; + + -- Registers + signal ACC, F : std_logic_vector(7 downto 0) := "11111111"; + signal Ap, Fp : std_logic_vector(7 downto 0) := "11111111"; + signal I : std_logic_vector(7 downto 0) := "00000000"; + signal R : unsigned(7 downto 0) := "00000000"; + signal SP : unsigned(15 downto 0) := "1111111111111111"; + signal PC : unsigned(15 downto 0) := "0000000000000000"; + + signal RegDIH : std_logic_vector(7 downto 0); + signal RegDIL : std_logic_vector(7 downto 0); + signal RegBusA : std_logic_vector(15 downto 0); + signal RegBusB : std_logic_vector(15 downto 0); + signal RegBusC : std_logic_vector(15 downto 0); + signal RegAddrA_r : std_logic_vector(2 downto 0); + signal RegAddrA : std_logic_vector(2 downto 0); + signal RegAddrB_r : std_logic_vector(2 downto 0); + signal RegAddrB : std_logic_vector(2 downto 0); + signal RegAddrC : std_logic_vector(2 downto 0); + signal RegWEH : std_logic; + signal RegWEL : std_logic; + signal Alternate : std_logic; + + -- Help Registers + signal TmpAddr : std_logic_vector(15 downto 0); -- Temporary address register + signal IR : std_logic_vector(7 downto 0); -- Instruction register + signal ISet : std_logic_vector(1 downto 0); -- Instruction set selector + signal RegBusA_r : std_logic_vector(15 downto 0); + + signal ID16 : signed(15 downto 0); + signal Save_Mux : std_logic_vector(7 downto 0); + + signal TState : unsigned(2 downto 0); + signal MCycle : std_logic_vector(2 downto 0); + signal IntE_FF1 : std_logic; + signal IntE_FF2 : std_logic; + signal Halt_FF : std_logic; + signal BusReq_s : std_logic; + signal BusAck : std_logic; + signal ClkEn : std_logic; + signal NMI_s : std_logic; + signal INT_s : std_logic; + signal IStatus : std_logic_vector(1 downto 0); + + signal DI_Reg : std_logic_vector(7 downto 0); + signal T_Res : std_logic; + signal XY_State : std_logic_vector(1 downto 0); + signal Pre_XY_F_M : std_logic_vector(2 downto 0); + signal NextIs_XY_Fetch : std_logic; + signal XY_Ind : std_logic; + signal No_BTR : std_logic; + signal BTR_r : std_logic; + signal Auto_Wait : std_logic; + signal Auto_Wait_t1 : std_logic; + signal Auto_Wait_t2 : std_logic; + signal IncDecZ : std_logic; + + -- ALU signals + signal BusB : std_logic_vector(7 downto 0); + signal BusA : std_logic_vector(7 downto 0); + signal ALU_Q : std_logic_vector(7 downto 0); + signal F_Out : std_logic_vector(7 downto 0); + + -- Registered micro code outputs + signal Read_To_Reg_r : std_logic_vector(4 downto 0); + signal Arith16_r : std_logic; + signal Z16_r : std_logic; + signal ALU_Op_r : std_logic_vector(3 downto 0); + signal Save_ALU_r : std_logic; + signal PreserveC_r : std_logic; + signal MCycles : std_logic_vector(2 downto 0); + + -- Micro code outputs + signal MCycles_d : std_logic_vector(2 downto 0); + signal TStates : std_logic_vector(2 downto 0); + signal IntCycle : std_logic; + signal NMICycle : std_logic; + signal Inc_PC : std_logic; + signal Inc_WZ : std_logic; + signal IncDec_16 : std_logic_vector(3 downto 0); + signal Prefix : std_logic_vector(1 downto 0); + signal Read_To_Acc : std_logic; + signal Read_To_Reg : std_logic; + signal Set_BusB_To : std_logic_vector(3 downto 0); + signal Set_BusA_To : std_logic_vector(3 downto 0); + signal ALU_Op : std_logic_vector(3 downto 0); + signal Save_ALU : std_logic; + signal PreserveC : std_logic; + signal Arith16 : std_logic; + signal Set_Addr_To : std_logic_vector(2 downto 0); + signal Jump : std_logic; + signal JumpE : std_logic; + signal JumpXY : std_logic; + signal Call : std_logic; + signal RstP : std_logic; + signal LDZ : std_logic; + signal LDW : std_logic; + signal LDSPHL : std_logic; + signal IORQ_i : std_logic; + signal Special_LD : std_logic_vector(2 downto 0); + signal ExchangeDH : std_logic; + signal ExchangeRp : std_logic; + signal ExchangeAF : std_logic; + signal ExchangeRS : std_logic; + signal I_DJNZ : std_logic; + signal I_CPL : std_logic; + signal I_CCF : std_logic; + signal I_SCF : std_logic; + signal I_RETN : std_logic; + signal I_BT : std_logic; + signal I_BC : std_logic; + signal I_BTR : std_logic; + signal I_RLD : std_logic; + signal I_RRD : std_logic; + signal I_INRC : std_logic; + signal SetDI : std_logic; + signal SetEI : std_logic; + signal IMode : std_logic_vector(1 downto 0); + signal Halt : std_logic; + signal XYbit_undoc : std_logic; + + +begin + + mcode : T80_MCode + generic map( + Mode => Mode, + Flag_C => Flag_C, + Flag_N => Flag_N, + Flag_P => Flag_P, + Flag_X => Flag_X, + Flag_H => Flag_H, + Flag_Y => Flag_Y, + Flag_Z => Flag_Z, + Flag_S => Flag_S) + port map( + IR => IR, + ISet => ISet, + MCycle => MCycle, + F => F, + NMICycle => NMICycle, + IntCycle => IntCycle, + XY_State => XY_State, + MCycles => MCycles_d, + TStates => TStates, + Prefix => Prefix, + Inc_PC => Inc_PC, + Inc_WZ => Inc_WZ, + IncDec_16 => IncDec_16, + Read_To_Acc => Read_To_Acc, + Read_To_Reg => Read_To_Reg, + Set_BusB_To => Set_BusB_To, + Set_BusA_To => Set_BusA_To, + ALU_Op => ALU_Op, + Save_ALU => Save_ALU, + PreserveC => PreserveC, + Arith16 => Arith16, + Set_Addr_To => Set_Addr_To, + IORQ => IORQ_i, + Jump => Jump, + JumpE => JumpE, + JumpXY => JumpXY, + Call => Call, + RstP => RstP, + LDZ => LDZ, + LDW => LDW, + LDSPHL => LDSPHL, + Special_LD => Special_LD, + ExchangeDH => ExchangeDH, + ExchangeRp => ExchangeRp, + ExchangeAF => ExchangeAF, + ExchangeRS => ExchangeRS, + I_DJNZ => I_DJNZ, + I_CPL => I_CPL, + I_CCF => I_CCF, + I_SCF => I_SCF, + I_RETN => I_RETN, + I_BT => I_BT, + I_BC => I_BC, + I_BTR => I_BTR, + I_RLD => I_RLD, + I_RRD => I_RRD, + I_INRC => I_INRC, + SetDI => SetDI, + SetEI => SetEI, + IMode => IMode, + Halt => Halt, + NoRead => NoRead, + Write => Write, + XYbit_undoc => XYbit_undoc); + + alu : T80_ALU + generic map( + Mode => Mode, + Flag_C => Flag_C, + Flag_N => Flag_N, + Flag_P => Flag_P, + Flag_X => Flag_X, + Flag_H => Flag_H, + Flag_Y => Flag_Y, + Flag_Z => Flag_Z, + Flag_S => Flag_S) + port map( + Arith16 => Arith16_r, + Z16 => Z16_r, + ALU_Op => ALU_Op_r, + IR => IR(5 downto 0), + ISet => ISet, + BusA => BusA, + BusB => BusB, + F_In => F, + Q => ALU_Q, + F_Out => F_Out); + + ClkEn <= CEN and not BusAck; + + T_Res <= '1' when TState = unsigned(TStates) else '0'; + + NextIs_XY_Fetch <= '1' when XY_State /= "00" and XY_Ind = '0' and + ((Set_Addr_To = aXY) or + (MCycle = "001" and IR = "11001011") or + (MCycle = "001" and IR = "00110110")) else '0'; + + Save_Mux <= BusB when ExchangeRp = '1' else + DI_Reg when Save_ALU_r = '0' else + ALU_Q; + + process (RESET_n, CLK_n) + begin + if RESET_n = '0' then + PC <= (others => '0'); -- Program Counter + A <= (others => '0'); + TmpAddr <= (others => '0'); + IR <= "00000000"; + ISet <= "00"; + XY_State <= "00"; + IStatus <= "00"; + MCycles <= "000"; + DO <= "00000000"; + + ACC <= (others => '1'); + F <= (others => '1'); + Ap <= (others => '1'); + Fp <= (others => '1'); + I <= (others => '0'); + R <= (others => '0'); + SP <= (others => '1'); + Alternate <= '0'; + + Read_To_Reg_r <= "00000"; + F <= (others => '1'); + Arith16_r <= '0'; + BTR_r <= '0'; + Z16_r <= '0'; + ALU_Op_r <= "0000"; + Save_ALU_r <= '0'; + PreserveC_r <= '0'; + XY_Ind <= '0'; + + elsif CLK_n'event and CLK_n = '1' then + + if ClkEn = '1' then + + ALU_Op_r <= "0000"; + Save_ALU_r <= '0'; + Read_To_Reg_r <= "00000"; + + MCycles <= MCycles_d; + + if IMode /= "11" then + IStatus <= IMode; + end if; + + Arith16_r <= Arith16; + PreserveC_r <= PreserveC; + if ISet = "10" and ALU_OP(2) = '0' and ALU_OP(0) = '1' and MCycle = "011" then + Z16_r <= '1'; + else + Z16_r <= '0'; + end if; + + if MCycle = "001" and TState(2) = '0' then + -- MCycle = 1 and TState = 1, 2, or 3 + + if TState = 2 and Wait_n = '1' then + if Mode < 2 then + A(7 downto 0) <= std_logic_vector(R); + A(15 downto 8) <= I; + R(6 downto 0) <= R(6 downto 0) + 1; + end if; + + if Jump = '0' and Call = '0' and NMICycle = '0' and IntCycle = '0' and not (Halt_FF = '1' or Halt = '1') then + PC <= PC + 1; + end if; + + if IntCycle = '1' and IStatus = "01" then + IR <= "11111111"; + elsif Halt_FF = '1' or (IntCycle = '1' and IStatus = "10") or NMICycle = '1' then + IR <= "00000000"; + else + IR <= DInst; + end if; + + ISet <= "00"; + if Prefix /= "00" then + if Prefix = "11" then + if IR(5) = '1' then + XY_State <= "10"; + else + XY_State <= "01"; + end if; + else + if Prefix = "10" then + XY_State <= "00"; + XY_Ind <= '0'; + end if; + ISet <= Prefix; + end if; + else + XY_State <= "00"; + XY_Ind <= '0'; + end if; + end if; + + else + -- either (MCycle > 1) OR (MCycle = 1 AND TState > 3) + + if MCycle = "110" then + XY_Ind <= '1'; + if Prefix = "01" then + ISet <= "01"; + end if; + end if; + + if T_Res = '1' then + BTR_r <= (I_BT or I_BC or I_BTR) and not No_BTR; + if Jump = '1' then + A(15 downto 8) <= DI_Reg; + A(7 downto 0) <= TmpAddr(7 downto 0); + PC(15 downto 8) <= unsigned(DI_Reg); + PC(7 downto 0) <= unsigned(TmpAddr(7 downto 0)); + elsif JumpXY = '1' then + A <= RegBusC; + PC <= unsigned(RegBusC); + elsif Call = '1' or RstP = '1' then + A <= TmpAddr; + PC <= unsigned(TmpAddr); + elsif MCycle = MCycles and NMICycle = '1' then + A <= "0000000001100110"; + PC <= "0000000001100110"; + elsif MCycle = "011" and IntCycle = '1' and IStatus = "10" then + A(15 downto 8) <= I; + A(7 downto 0) <= TmpAddr(7 downto 0); + PC(15 downto 8) <= unsigned(I); + PC(7 downto 0) <= unsigned(TmpAddr(7 downto 0)); + else + case Set_Addr_To is + when aXY => + if XY_State = "00" then + A <= RegBusC; + else + if NextIs_XY_Fetch = '1' then + A <= std_logic_vector(PC); + else + A <= TmpAddr; + end if; + end if; + when aIOA => + if Mode = 3 then + -- Memory map I/O on GBZ80 + A(15 downto 8) <= (others => '1'); + elsif Mode = 2 then + -- Duplicate I/O address on 8080 + A(15 downto 8) <= DI_Reg; + else + A(15 downto 8) <= ACC; + end if; + A(7 downto 0) <= DI_Reg; + when aSP => + A <= std_logic_vector(SP); + when aBC => + if Mode = 3 and IORQ_i = '1' then + -- Memory map I/O on GBZ80 + A(15 downto 8) <= (others => '1'); + A(7 downto 0) <= RegBusC(7 downto 0); + else + A <= RegBusC; + end if; + when aDE => + A <= RegBusC; + when aZI => + if Inc_WZ = '1' then + A <= std_logic_vector(unsigned(TmpAddr) + 1); + else + A(15 downto 8) <= DI_Reg; + A(7 downto 0) <= TmpAddr(7 downto 0); + end if; + when others => + A <= std_logic_vector(PC); + end case; + end if; + + Save_ALU_r <= Save_ALU; + ALU_Op_r <= ALU_Op; + + if I_CPL = '1' then + -- CPL + ACC <= not ACC; + F(Flag_Y) <= not ACC(5); + F(Flag_H) <= '1'; + F(Flag_X) <= not ACC(3); + F(Flag_N) <= '1'; + end if; + if I_CCF = '1' then + -- CCF + F(Flag_C) <= not F(Flag_C); + F(Flag_Y) <= ACC(5); + F(Flag_H) <= F(Flag_C); + F(Flag_X) <= ACC(3); + F(Flag_N) <= '0'; + end if; + if I_SCF = '1' then + -- SCF + F(Flag_C) <= '1'; + F(Flag_Y) <= ACC(5); + F(Flag_H) <= '0'; + F(Flag_X) <= ACC(3); + F(Flag_N) <= '0'; + end if; + end if; + + if TState = 2 and Wait_n = '1' then + if ISet = "01" and MCycle = "111" then + IR <= DInst; + end if; + if JumpE = '1' then + PC <= unsigned(signed(PC) + signed(DI_Reg)); + elsif Inc_PC = '1' then + PC <= PC + 1; + end if; + if BTR_r = '1' then + PC <= PC - 2; + end if; + if RstP = '1' then + TmpAddr <= (others =>'0'); + TmpAddr(5 downto 3) <= IR(5 downto 3); + end if; + end if; + if TState = 3 and MCycle = "110" then + TmpAddr <= std_logic_vector(signed(RegBusC) + signed(DI_Reg)); + end if; + + if (TState = 2 and Wait_n = '1') or (TState = 4 and MCycle = "001") then + if IncDec_16(2 downto 0) = "111" then + if IncDec_16(3) = '1' then + SP <= SP - 1; + else + SP <= SP + 1; + end if; + end if; + end if; + + if LDSPHL = '1' then + SP <= unsigned(RegBusC); + end if; + if ExchangeAF = '1' then + Ap <= ACC; + ACC <= Ap; + Fp <= F; + F <= Fp; + end if; + if ExchangeRS = '1' then + Alternate <= not Alternate; + end if; + end if; + + if TState = 3 then + if LDZ = '1' then + TmpAddr(7 downto 0) <= DI_Reg; + end if; + if LDW = '1' then + TmpAddr(15 downto 8) <= DI_Reg; + end if; + + if Special_LD(2) = '1' then + case Special_LD(1 downto 0) is + when "00" => + ACC <= I; + F(Flag_P) <= IntE_FF2; + when "01" => + ACC <= std_logic_vector(R); + F(Flag_P) <= IntE_FF2; + when "10" => + I <= ACC; + when others => + R <= unsigned(ACC); + end case; + end if; + end if; + + if (I_DJNZ = '0' and Save_ALU_r = '1') or ALU_Op_r = "1001" then + if Mode = 3 then + F(6) <= F_Out(6); + F(5) <= F_Out(5); + F(7) <= F_Out(7); + if PreserveC_r = '0' then + F(4) <= F_Out(4); + end if; + else + F(7 downto 1) <= F_Out(7 downto 1); + if PreserveC_r = '0' then + F(Flag_C) <= F_Out(0); + end if; + end if; + end if; + if T_Res = '1' and I_INRC = '1' then + F(Flag_H) <= '0'; + F(Flag_N) <= '0'; + if DI_Reg(7 downto 0) = "00000000" then + F(Flag_Z) <= '1'; + else + F(Flag_Z) <= '0'; + end if; + F(Flag_S) <= DI_Reg(7); + F(Flag_P) <= not (DI_Reg(0) xor DI_Reg(1) xor DI_Reg(2) xor DI_Reg(3) xor + DI_Reg(4) xor DI_Reg(5) xor DI_Reg(6) xor DI_Reg(7)); + end if; + + if TState = 1 then + DO <= BusB; + if I_RLD = '1' then + DO(3 downto 0) <= BusA(3 downto 0); + DO(7 downto 4) <= BusB(3 downto 0); + end if; + if I_RRD = '1' then + DO(3 downto 0) <= BusB(7 downto 4); + DO(7 downto 4) <= BusA(3 downto 0); + end if; + end if; + + if T_Res = '1' then + Read_To_Reg_r(3 downto 0) <= Set_BusA_To; + Read_To_Reg_r(4) <= Read_To_Reg; + if Read_To_Acc = '1' then + Read_To_Reg_r(3 downto 0) <= "0111"; + Read_To_Reg_r(4) <= '1'; + end if; + end if; + + if TState = 1 and I_BT = '1' then + F(Flag_X) <= ALU_Q(3); + F(Flag_Y) <= ALU_Q(1); + F(Flag_H) <= '0'; + F(Flag_N) <= '0'; + end if; + if I_BC = '1' or I_BT = '1' then + F(Flag_P) <= IncDecZ; + end if; + + if (TState = 1 and Save_ALU_r = '0') or + (Save_ALU_r = '1' and ALU_OP_r /= "0111") then + case Read_To_Reg_r is + when "10111" => + ACC <= Save_Mux; + when "10110" => + DO <= Save_Mux; + when "11000" => + SP(7 downto 0) <= unsigned(Save_Mux); + when "11001" => + SP(15 downto 8) <= unsigned(Save_Mux); + when "11011" => + F <= Save_Mux; + when others => + end case; + if XYbit_undoc='1' then + DO <= ALU_Q; + end if; + end if; + + end if; + + end if; + + end process; + +--------------------------------------------------------------------------- +-- +-- BC('), DE('), HL('), IX and IY +-- +--------------------------------------------------------------------------- + process (CLK_n) + begin + if CLK_n'event and CLK_n = '1' then + if ClkEn = '1' then + -- Bus A / Write + RegAddrA_r <= Alternate & Set_BusA_To(2 downto 1); + if XY_Ind = '0' and XY_State /= "00" and Set_BusA_To(2 downto 1) = "10" then + RegAddrA_r <= XY_State(1) & "11"; + end if; + + -- Bus B + RegAddrB_r <= Alternate & Set_BusB_To(2 downto 1); + if XY_Ind = '0' and XY_State /= "00" and Set_BusB_To(2 downto 1) = "10" then + RegAddrB_r <= XY_State(1) & "11"; + end if; + + -- Address from register + RegAddrC <= Alternate & Set_Addr_To(1 downto 0); + -- Jump (HL), LD SP,HL + if (JumpXY = '1' or LDSPHL = '1') then + RegAddrC <= Alternate & "10"; + end if; + if ((JumpXY = '1' or LDSPHL = '1') and XY_State /= "00") or (MCycle = "110") then + RegAddrC <= XY_State(1) & "11"; + end if; + + if I_DJNZ = '1' and Save_ALU_r = '1' and Mode < 2 then + IncDecZ <= F_Out(Flag_Z); + end if; + if (TState = 2 or (TState = 3 and MCycle = "001")) and IncDec_16(2 downto 0) = "100" then + if ID16 = 0 then + IncDecZ <= '0'; + else + IncDecZ <= '1'; + end if; + end if; + + RegBusA_r <= RegBusA; + end if; + end if; + end process; + + RegAddrA <= + -- 16 bit increment/decrement + Alternate & IncDec_16(1 downto 0) when (TState = 2 or + (TState = 3 and MCycle = "001" and IncDec_16(2) = '1')) and XY_State = "00" else + XY_State(1) & "11" when (TState = 2 or + (TState = 3 and MCycle = "001" and IncDec_16(2) = '1')) and IncDec_16(1 downto 0) = "10" else + -- EX HL,DL + Alternate & "10" when ExchangeDH = '1' and TState = 3 else + Alternate & "01" when ExchangeDH = '1' and TState = 4 else + -- Bus A / Write + RegAddrA_r; + + RegAddrB <= + -- EX HL,DL + Alternate & "01" when ExchangeDH = '1' and TState = 3 else + -- Bus B + RegAddrB_r; + + ID16 <= signed(RegBusA) - 1 when IncDec_16(3) = '1' else + signed(RegBusA) + 1; + + process (Save_ALU_r, Auto_Wait_t1, ALU_OP_r, Read_To_Reg_r, + ExchangeDH, IncDec_16, MCycle, TState, Wait_n) + begin + RegWEH <= '0'; + RegWEL <= '0'; + if (TState = 1 and Save_ALU_r = '0') or + (Save_ALU_r = '1' and ALU_OP_r /= "0111") then + case Read_To_Reg_r is + when "10000" | "10001" | "10010" | "10011" | "10100" | "10101" => + RegWEH <= not Read_To_Reg_r(0); + RegWEL <= Read_To_Reg_r(0); + when others => + end case; + end if; + + if ExchangeDH = '1' and (TState = 3 or TState = 4) then + RegWEH <= '1'; + RegWEL <= '1'; + end if; + + if IncDec_16(2) = '1' and ((TState = 2 and Wait_n = '1' and MCycle /= "001") or (TState = 3 and MCycle = "001")) then + case IncDec_16(1 downto 0) is + when "00" | "01" | "10" => + RegWEH <= '1'; + RegWEL <= '1'; + when others => + end case; + end if; + end process; + + process (Save_Mux, RegBusB, RegBusA_r, ID16, + ExchangeDH, IncDec_16, MCycle, TState, Wait_n) + begin + RegDIH <= Save_Mux; + RegDIL <= Save_Mux; + + if ExchangeDH = '1' and TState = 3 then + RegDIH <= RegBusB(15 downto 8); + RegDIL <= RegBusB(7 downto 0); + end if; + if ExchangeDH = '1' and TState = 4 then + RegDIH <= RegBusA_r(15 downto 8); + RegDIL <= RegBusA_r(7 downto 0); + end if; + + if IncDec_16(2) = '1' and ((TState = 2 and MCycle /= "001") or (TState = 3 and MCycle = "001")) then + RegDIH <= std_logic_vector(ID16(15 downto 8)); + RegDIL <= std_logic_vector(ID16(7 downto 0)); + end if; + end process; + + Regs : T80_Reg + port map( + Clk => CLK_n, + CEN => ClkEn, + WEH => RegWEH, + WEL => RegWEL, + AddrA => RegAddrA, + AddrB => RegAddrB, + AddrC => RegAddrC, + DIH => RegDIH, + DIL => RegDIL, + DOAH => RegBusA(15 downto 8), + DOAL => RegBusA(7 downto 0), + DOBH => RegBusB(15 downto 8), + DOBL => RegBusB(7 downto 0), + DOCH => RegBusC(15 downto 8), + DOCL => RegBusC(7 downto 0)); + +--------------------------------------------------------------------------- +-- +-- Buses +-- +--------------------------------------------------------------------------- + process (CLK_n) + begin + if CLK_n'event and CLK_n = '1' then + if ClkEn = '1' then + case Set_BusB_To is + when "0111" => + BusB <= ACC; + when "0000" | "0001" | "0010" | "0011" | "0100" | "0101" => + if Set_BusB_To(0) = '1' then + BusB <= RegBusB(7 downto 0); + else + BusB <= RegBusB(15 downto 8); + end if; + when "0110" => + BusB <= DI_Reg; + when "1000" => + BusB <= std_logic_vector(SP(7 downto 0)); + when "1001" => + BusB <= std_logic_vector(SP(15 downto 8)); + when "1010" => + BusB <= "00000001"; + when "1011" => + BusB <= F; + when "1100" => + BusB <= std_logic_vector(PC(7 downto 0)); + when "1101" => + BusB <= std_logic_vector(PC(15 downto 8)); + when "1110" => + BusB <= "00000000"; + when others => + BusB <= "--------"; + end case; + + case Set_BusA_To is + when "0111" => + BusA <= ACC; + when "0000" | "0001" | "0010" | "0011" | "0100" | "0101" => + if Set_BusA_To(0) = '1' then + BusA <= RegBusA(7 downto 0); + else + BusA <= RegBusA(15 downto 8); + end if; + when "0110" => + BusA <= DI_Reg; + when "1000" => + BusA <= std_logic_vector(SP(7 downto 0)); + when "1001" => + BusA <= std_logic_vector(SP(15 downto 8)); + when "1010" => + BusA <= "00000000"; + when others => + BusB <= "--------"; + end case; + if XYbit_undoc='1' then + BusA <= DI_Reg; + BusB <= DI_Reg; + end if; + end if; + end if; + end process; + +--------------------------------------------------------------------------- +-- +-- Generate external control signals +-- +--------------------------------------------------------------------------- + process (RESET_n,CLK_n) + begin + if RESET_n = '0' then + RFSH_n <= '1'; + elsif CLK_n'event and CLK_n = '1' then + if CEN = '1' then + if MCycle = "001" and ((TState = 2 and Wait_n = '1') or TState = 3) then + RFSH_n <= '0'; + else + RFSH_n <= '1'; + end if; + end if; + end if; + end process; + + MC <= std_logic_vector(MCycle); + TS <= std_logic_vector(TState); + DI_Reg <= DI; + HALT_n <= not Halt_FF; + BUSAK_n <= not BusAck; + IntCycle_n <= not IntCycle; + IntE <= IntE_FF1; + IORQ <= IORQ_i; + Stop <= I_DJNZ; + +------------------------------------------------------------------------- +-- +-- Syncronise inputs +-- +------------------------------------------------------------------------- + process (RESET_n, CLK_n) + variable OldNMI_n : std_logic; + begin + if RESET_n = '0' then + BusReq_s <= '0'; + INT_s <= '0'; + NMI_s <= '0'; + OldNMI_n := '0'; + elsif CLK_n'event and CLK_n = '1' then + if CEN = '1' then + BusReq_s <= not BUSRQ_n; + INT_s <= not INT_n; + if NMICycle = '1' then + NMI_s <= '0'; + elsif NMI_n = '0' and OldNMI_n = '1' then + NMI_s <= '1'; + end if; + OldNMI_n := NMI_n; + end if; + end if; + end process; + +------------------------------------------------------------------------- +-- +-- Main state machine +-- +------------------------------------------------------------------------- + process (RESET_n, CLK_n) + begin + if RESET_n = '0' then + MCycle <= "001"; + TState <= "000"; + Pre_XY_F_M <= "000"; + Halt_FF <= '0'; + BusAck <= '0'; + NMICycle <= '0'; + IntCycle <= '0'; + IntE_FF1 <= '0'; + IntE_FF2 <= '0'; + No_BTR <= '0'; + Auto_Wait_t1 <= '0'; + Auto_Wait_t2 <= '0'; + M1_n <= '1'; + elsif CLK_n'event and CLK_n = '1' then + if CEN = '1' then + Auto_Wait_t1 <= Auto_Wait; + Auto_Wait_t2 <= Auto_Wait_t1; + No_BTR <= (I_BT and (not IR(4) or not F(Flag_P))) or + (I_BC and (not IR(4) or F(Flag_Z) or not F(Flag_P))) or + (I_BTR and (not IR(4) or F(Flag_Z))); + if TState = 2 then + if SetEI = '1' then + IntE_FF1 <= '1'; + IntE_FF2 <= '1'; + end if; + if I_RETN = '1' then + IntE_FF1 <= IntE_FF2; + end if; + end if; + if TState = 3 then + if SetDI = '1' then + IntE_FF1 <= '0'; + IntE_FF2 <= '0'; + end if; + end if; + if IntCycle = '1' or NMICycle = '1' then + Halt_FF <= '0'; + end if; + if MCycle = "001" and TState = 2 and Wait_n = '1' then + M1_n <= '1'; + end if; + if BusReq_s = '1' and BusAck = '1' then + else + BusAck <= '0'; + if TState = 2 and Wait_n = '0' then + elsif T_Res = '1' then + if Halt = '1' then + Halt_FF <= '1'; + end if; + if BusReq_s = '1' then + BusAck <= '1'; + else + TState <= "001"; + if NextIs_XY_Fetch = '1' then + MCycle <= "110"; + Pre_XY_F_M <= MCycle; + if IR = "00110110" and Mode = 0 then + Pre_XY_F_M <= "010"; + end if; + elsif (MCycle = "111") or + (MCycle = "110" and Mode = 1 and ISet /= "01") then + MCycle <= std_logic_vector(unsigned(Pre_XY_F_M) + 1); + elsif (MCycle = MCycles) or + No_BTR = '1' or + (MCycle = "010" and I_DJNZ = '1' and IncDecZ = '1') then + M1_n <= '0'; + MCycle <= "001"; + IntCycle <= '0'; + NMICycle <= '0'; + if NMI_s = '1' and Prefix = "00" then + NMICycle <= '1'; + IntE_FF1 <= '0'; + elsif (IntE_FF1 = '1' and INT_s = '1') and Prefix = "00" and SetEI = '0' then + IntCycle <= '1'; + IntE_FF1 <= '0'; + IntE_FF2 <= '0'; + end if; + else + MCycle <= std_logic_vector(unsigned(MCycle) + 1); + end if; + end if; + else + if Auto_Wait = '1' nand Auto_Wait_t2 = '0' then + + TState <= TState + 1; + end if; + end if; + end if; + if TState = 0 then + M1_n <= '0'; + end if; + end if; + end if; + end process; + + process (IntCycle, NMICycle, MCycle) + begin + Auto_Wait <= '0'; + if IntCycle = '1' or NMICycle = '1' then + if MCycle = "001" then + Auto_Wait <= '1'; + end if; + end if; + end process; + +end; diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80_ALU.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80_ALU.vhd new file mode 100644 index 00000000..96e689f1 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80_ALU.vhd @@ -0,0 +1,371 @@ +-- **** +-- T80(b) core. In an effort to merge and maintain bug fixes .... +-- +-- Ver 301 parity flag is just parity for 8080, also overflow for Z80, by Sean Riddle +-- Ver 300 started tidyup +-- +-- Latest version from www.fpgaarcade.com (original www.opencores.org) +-- +-- $Id: T80_ALU.vhd 1330 2015-05-22 19:55:46Z wolfgang.scherr $ +-- +-- **** +-- +-- Z80 compatible microprocessor core +-- +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +-- MikeJ March 2005 +-- +-- All rights reserved +-- +-- Redistribution and use in source and synthezised forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- Redistributions in synthesized form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- Neither the name of the author nor the names of other contributors may +-- be used to endorse or promote products derived from this software without +-- specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE +-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- +-- Please report bugs to the author, but before you do so, please +-- make sure that this is not a derivative work and that +-- you have the latest version of this file. +-- +-- The latest version of this file can be found at: +-- http://www.opencores.org/cvsweb.shtml/t80/ +-- +-- Limitations : +-- +-- File history : +-- +-- 0214 : Fixed mostly flags, only the block instructions now fail the zex regression test +-- +-- 0238 : Fixed zero flag for 16 bit SBC and ADC +-- +-- 0240 : Added GB operations +-- +-- 0242 : Cleanup +-- +-- 0247 : Cleanup +-- + +library IEEE; +use IEEE.std_logic_1164.all; +use IEEE.numeric_std.all; + +entity T80_ALU is + generic( + Mode : integer := 0; + Flag_C : integer := 0; + Flag_N : integer := 1; + Flag_P : integer := 2; + Flag_X : integer := 3; + Flag_H : integer := 4; + Flag_Y : integer := 5; + Flag_Z : integer := 6; + Flag_S : integer := 7 + ); + port( + Arith16 : in std_logic; + Z16 : in std_logic; + ALU_Op : in std_logic_vector(3 downto 0); + IR : in std_logic_vector(5 downto 0); + ISet : in std_logic_vector(1 downto 0); + BusA : in std_logic_vector(7 downto 0); + BusB : in std_logic_vector(7 downto 0); + F_In : in std_logic_vector(7 downto 0); + Q : out std_logic_vector(7 downto 0); + F_Out : out std_logic_vector(7 downto 0) + ); +end T80_ALU; + +architecture rtl of T80_ALU is + + procedure AddSub(A : std_logic_vector; + B : std_logic_vector; + Sub : std_logic; + Carry_In : std_logic; + signal Res : out std_logic_vector; + signal Carry : out std_logic) is + + variable B_i : unsigned(A'length - 1 downto 0); + variable Res_i : unsigned(A'length + 1 downto 0); + begin + if Sub = '1' then + B_i := not unsigned(B); + else + B_i := unsigned(B); + end if; + + Res_i := unsigned("0" & A & Carry_In) + unsigned("0" & B_i & "1"); + Carry <= Res_i(A'length + 1); + Res <= std_logic_vector(Res_i(A'length downto 1)); + end; + + -- AddSub variables (temporary signals) + signal UseCarry : std_logic; + signal Carry7_v : std_logic; + signal Overflow_v : std_logic; + signal HalfCarry_v : std_logic; + signal Carry_v : std_logic; + signal Q_v : std_logic_vector(7 downto 0); + + signal BitMask : std_logic_vector(7 downto 0); + +begin + + with IR(5 downto 3) select BitMask <= "00000001" when "000", + "00000010" when "001", + "00000100" when "010", + "00001000" when "011", + "00010000" when "100", + "00100000" when "101", + "01000000" when "110", + "10000000" when others; + + UseCarry <= not ALU_Op(2) and ALU_Op(0); + AddSub(BusA(3 downto 0), BusB(3 downto 0), ALU_Op(1), ALU_Op(1) xor (UseCarry and F_In(Flag_C)), Q_v(3 downto 0), HalfCarry_v); + AddSub(BusA(6 downto 4), BusB(6 downto 4), ALU_Op(1), HalfCarry_v, Q_v(6 downto 4), Carry7_v); + AddSub(BusA(7 downto 7), BusB(7 downto 7), ALU_Op(1), Carry7_v, Q_v(7 downto 7), Carry_v); + + -- bug fix - parity flag is just parity for 8080, also overflow for Z80 + process (Carry_v, Carry7_v, Q_v) + begin + if(Mode=2) then + OverFlow_v <= not (Q_v(0) xor Q_v(1) xor Q_v(2) xor Q_v(3) xor + Q_v(4) xor Q_v(5) xor Q_v(6) xor Q_v(7)); else + OverFlow_v <= Carry_v xor Carry7_v; + end if; + end process; + + process (Arith16, ALU_OP, F_In, BusA, BusB, IR, Q_v, Carry_v, HalfCarry_v, OverFlow_v, BitMask, ISet, Z16) + variable Q_t : std_logic_vector(7 downto 0); + variable DAA_Q : unsigned(8 downto 0); + begin + Q_t := "--------"; + F_Out <= F_In; + DAA_Q := "---------"; + case ALU_Op is + when "0000" | "0001" | "0010" | "0011" | "0100" | "0101" | "0110" | "0111" => + F_Out(Flag_N) <= '0'; + F_Out(Flag_C) <= '0'; + case ALU_OP(2 downto 0) is + when "000" | "001" => -- ADD, ADC + Q_t := Q_v; + F_Out(Flag_C) <= Carry_v; + F_Out(Flag_H) <= HalfCarry_v; + F_Out(Flag_P) <= OverFlow_v; + when "010" | "011" | "111" => -- SUB, SBC, CP + Q_t := Q_v; + F_Out(Flag_N) <= '1'; + F_Out(Flag_C) <= not Carry_v; + F_Out(Flag_H) <= not HalfCarry_v; + F_Out(Flag_P) <= OverFlow_v; + when "100" => -- AND + Q_t(7 downto 0) := BusA and BusB; + F_Out(Flag_H) <= '1'; + when "101" => -- XOR + Q_t(7 downto 0) := BusA xor BusB; + F_Out(Flag_H) <= '0'; + when others => -- OR "110" + Q_t(7 downto 0) := BusA or BusB; + F_Out(Flag_H) <= '0'; + end case; + if ALU_Op(2 downto 0) = "111" then -- CP + F_Out(Flag_X) <= BusB(3); + F_Out(Flag_Y) <= BusB(5); + else + F_Out(Flag_X) <= Q_t(3); + F_Out(Flag_Y) <= Q_t(5); + end if; + if Q_t(7 downto 0) = "00000000" then + F_Out(Flag_Z) <= '1'; + if Z16 = '1' then + F_Out(Flag_Z) <= F_In(Flag_Z); -- 16 bit ADC,SBC + end if; + else + F_Out(Flag_Z) <= '0'; + end if; + F_Out(Flag_S) <= Q_t(7); + case ALU_Op(2 downto 0) is + when "000" | "001" | "010" | "011" | "111" => -- ADD, ADC, SUB, SBC, CP + when others => + F_Out(Flag_P) <= not (Q_t(0) xor Q_t(1) xor Q_t(2) xor Q_t(3) xor + Q_t(4) xor Q_t(5) xor Q_t(6) xor Q_t(7)); + end case; + if Arith16 = '1' then + F_Out(Flag_S) <= F_In(Flag_S); + F_Out(Flag_Z) <= F_In(Flag_Z); + F_Out(Flag_P) <= F_In(Flag_P); + end if; + when "1100" => + -- DAA + F_Out(Flag_H) <= F_In(Flag_H); + F_Out(Flag_C) <= F_In(Flag_C); + DAA_Q(7 downto 0) := unsigned(BusA); + DAA_Q(8) := '0'; + if F_In(Flag_N) = '0' then + -- After addition + -- Alow > 9 or H = 1 + if DAA_Q(3 downto 0) > 9 or F_In(Flag_H) = '1' then + if (DAA_Q(3 downto 0) > 9) then + F_Out(Flag_H) <= '1'; + else + F_Out(Flag_H) <= '0'; + end if; + DAA_Q := DAA_Q + 6; + end if; + -- new Ahigh > 9 or C = 1 + if DAA_Q(8 downto 4) > 9 or F_In(Flag_C) = '1' then + DAA_Q := DAA_Q + 96; -- 0x60 + end if; + else + -- After subtraction + if DAA_Q(3 downto 0) > 9 or F_In(Flag_H) = '1' then + if DAA_Q(3 downto 0) > 5 then + F_Out(Flag_H) <= '0'; + end if; + DAA_Q(7 downto 0) := DAA_Q(7 downto 0) - 6; + end if; + if unsigned(BusA) > 153 or F_In(Flag_C) = '1' then + DAA_Q := DAA_Q - 352; -- 0x160 + end if; + end if; + F_Out(Flag_X) <= DAA_Q(3); + F_Out(Flag_Y) <= DAA_Q(5); + F_Out(Flag_C) <= F_In(Flag_C) or DAA_Q(8); + Q_t := std_logic_vector(DAA_Q(7 downto 0)); + if DAA_Q(7 downto 0) = "00000000" then + F_Out(Flag_Z) <= '1'; + else + F_Out(Flag_Z) <= '0'; + end if; + F_Out(Flag_S) <= DAA_Q(7); + F_Out(Flag_P) <= not (DAA_Q(0) xor DAA_Q(1) xor DAA_Q(2) xor DAA_Q(3) xor + DAA_Q(4) xor DAA_Q(5) xor DAA_Q(6) xor DAA_Q(7)); + when "1101" | "1110" => + -- RLD, RRD + Q_t(7 downto 4) := BusA(7 downto 4); + if ALU_Op(0) = '1' then + Q_t(3 downto 0) := BusB(7 downto 4); + else + Q_t(3 downto 0) := BusB(3 downto 0); + end if; + F_Out(Flag_H) <= '0'; + F_Out(Flag_N) <= '0'; + F_Out(Flag_X) <= Q_t(3); + F_Out(Flag_Y) <= Q_t(5); + if Q_t(7 downto 0) = "00000000" then + F_Out(Flag_Z) <= '1'; + else + F_Out(Flag_Z) <= '0'; + end if; + F_Out(Flag_S) <= Q_t(7); + F_Out(Flag_P) <= not (Q_t(0) xor Q_t(1) xor Q_t(2) xor Q_t(3) xor + Q_t(4) xor Q_t(5) xor Q_t(6) xor Q_t(7)); + when "1001" => + -- BIT + Q_t(7 downto 0) := BusB and BitMask; + F_Out(Flag_S) <= Q_t(7); + if Q_t(7 downto 0) = "00000000" then + F_Out(Flag_Z) <= '1'; + F_Out(Flag_P) <= '1'; + else + F_Out(Flag_Z) <= '0'; + F_Out(Flag_P) <= '0'; + end if; + F_Out(Flag_H) <= '1'; + F_Out(Flag_N) <= '0'; + F_Out(Flag_X) <= '0'; + F_Out(Flag_Y) <= '0'; + if IR(2 downto 0) /= "110" then + F_Out(Flag_X) <= BusB(3); + F_Out(Flag_Y) <= BusB(5); + end if; + when "1010" => + -- SET + Q_t(7 downto 0) := BusB or BitMask; + when "1011" => + -- RES + Q_t(7 downto 0) := BusB and not BitMask; + when "1000" => + -- ROT + case IR(5 downto 3) is + when "000" => -- RLC + Q_t(7 downto 1) := BusA(6 downto 0); + Q_t(0) := BusA(7); + F_Out(Flag_C) <= BusA(7); + when "010" => -- RL + Q_t(7 downto 1) := BusA(6 downto 0); + Q_t(0) := F_In(Flag_C); + F_Out(Flag_C) <= BusA(7); + when "001" => -- RRC + Q_t(6 downto 0) := BusA(7 downto 1); + Q_t(7) := BusA(0); + F_Out(Flag_C) <= BusA(0); + when "011" => -- RR + Q_t(6 downto 0) := BusA(7 downto 1); + Q_t(7) := F_In(Flag_C); + F_Out(Flag_C) <= BusA(0); + when "100" => -- SLA + Q_t(7 downto 1) := BusA(6 downto 0); + Q_t(0) := '0'; + F_Out(Flag_C) <= BusA(7); + when "110" => -- SLL (Undocumented) / SWAP + if Mode = 3 then + Q_t(7 downto 4) := BusA(3 downto 0); + Q_t(3 downto 0) := BusA(7 downto 4); + F_Out(Flag_C) <= '0'; + else + Q_t(7 downto 1) := BusA(6 downto 0); + Q_t(0) := '1'; + F_Out(Flag_C) <= BusA(7); + end if; + when "101" => -- SRA + Q_t(6 downto 0) := BusA(7 downto 1); + Q_t(7) := BusA(7); + F_Out(Flag_C) <= BusA(0); + when others => -- SRL + Q_t(6 downto 0) := BusA(7 downto 1); + Q_t(7) := '0'; + F_Out(Flag_C) <= BusA(0); + end case; + F_Out(Flag_H) <= '0'; + F_Out(Flag_N) <= '0'; + F_Out(Flag_X) <= Q_t(3); + F_Out(Flag_Y) <= Q_t(5); + F_Out(Flag_S) <= Q_t(7); + if Q_t(7 downto 0) = "00000000" then + F_Out(Flag_Z) <= '1'; + else + F_Out(Flag_Z) <= '0'; + end if; + F_Out(Flag_P) <= not (Q_t(0) xor Q_t(1) xor Q_t(2) xor Q_t(3) xor + Q_t(4) xor Q_t(5) xor Q_t(6) xor Q_t(7)); + if ISet = "00" then + F_Out(Flag_P) <= F_In(Flag_P); + F_Out(Flag_S) <= F_In(Flag_S); + F_Out(Flag_Z) <= F_In(Flag_Z); + end if; + when others => + null; + end case; + Q <= Q_t; + end process; +end; diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80_MCode.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80_MCode.vhd new file mode 100644 index 00000000..6fc66bc1 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80_MCode.vhd @@ -0,0 +1,2030 @@ +-- **** +-- T80(b) core. In an effort to merge and maintain bug fixes .... +-- +-- Ver 304 synthesis/simulation fixes +-- Ver 303 add undocumented DDCB and FDCB opcodes by TobiFlex 20.04.2010 +-- Ver 302 fixed IO cycle timing, tested thanks to Alessandro. +-- Ver 300 started tidyup +-- +-- Latest version from www.fpgaarcade.com (original www.opencores.org) +-- +-- $Id: T80_MCode.vhd 1330 2015-05-22 19:55:46Z wolfgang.scherr $ +-- +-- **** +-- +-- Z80 compatible microprocessor core +-- +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +-- MikeJ March 2005 +-- Wolfgang Scherr 2011-2015 (email: WoS pin4 at) +-- +-- All rights reserved +-- +-- Redistribution and use in source and synthezised forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- Redistributions in synthesized form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- Neither the name of the author nor the names of other contributors may +-- be used to endorse or promote products derived from this software without +-- specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE +-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- +-- Please report bugs to the author, but before you do so, please +-- make sure that this is not a derivative work and that +-- you have the latest version of this file. +-- +-- The latest version of this file can be found at: +-- http://www.opencores.org/cvsweb.shtml/t80/ +-- +-- Limitations : +-- +-- File history : +-- +-- 0208 : First complete release +-- +-- 0211 : Fixed IM 1 +-- +-- 0214 : Fixed mostly flags, only the block instructions now fail the zex regression test +-- +-- 0235 : Added IM 2 fix by Mike Johnson +-- +-- 0238 : Added NoRead signal +-- +-- 0238b: Fixed instruction timing for POP and DJNZ +-- +-- 0240 : Added (IX/IY+d) states, removed op-codes from mode 2 and added all remaining mode 3 op-codes + +-- 0240mj1 fix for HL inc/dec for INI, IND, INIR, INDR, OUTI, OUTD, OTIR, OTDR +-- +-- 0242 : Fixed I/O instruction timing, cleanup +-- + +library IEEE; +use IEEE.std_logic_1164.all; +use IEEE.numeric_std.all; +use work.T80_Pack.all; + +entity T80_MCode is + generic( + Mode : integer := 0; + Flag_C : integer := 0; + Flag_N : integer := 1; + Flag_P : integer := 2; + Flag_X : integer := 3; + Flag_H : integer := 4; + Flag_Y : integer := 5; + Flag_Z : integer := 6; + Flag_S : integer := 7 + ); + port( + IR : in std_logic_vector(7 downto 0); + ISet : in std_logic_vector(1 downto 0); + MCycle : in std_logic_vector(2 downto 0); + F : in std_logic_vector(7 downto 0); + NMICycle : in std_logic; + IntCycle : in std_logic; + XY_State : in std_logic_vector(1 downto 0); + MCycles : out std_logic_vector(2 downto 0); + TStates : out std_logic_vector(2 downto 0); + Prefix : out std_logic_vector(1 downto 0); -- None,CB,ED,DD/FD + Inc_PC : out std_logic; + Inc_WZ : out std_logic; + IncDec_16 : out std_logic_vector(3 downto 0); -- BC,DE,HL,SP 0 is inc + Read_To_Reg : out std_logic; + Read_To_Acc : out std_logic; + Set_BusA_To : out std_logic_vector(3 downto 0); -- B,C,D,E,H,L,DI/DB,A,SP(L),SP(M),0,F + Set_BusB_To : out std_logic_vector(3 downto 0); -- B,C,D,E,H,L,DI,A,SP(L),SP(M),1,F,PC(L),PC(M),0 + ALU_Op : out std_logic_vector(3 downto 0); + -- ADD, ADC, SUB, SBC, AND, XOR, OR, CP, ROT, BIT, SET, RES, DAA, RLD, RRD, None + Save_ALU : out std_logic; + PreserveC : out std_logic; + Arith16 : out std_logic; + Set_Addr_To : out std_logic_vector(2 downto 0); -- aNone,aXY,aIOA,aSP,aBC,aDE,aZI + IORQ : out std_logic; + Jump : out std_logic; + JumpE : out std_logic; + JumpXY : out std_logic; + Call : out std_logic; + RstP : out std_logic; + LDZ : out std_logic; + LDW : out std_logic; + LDSPHL : out std_logic; + Special_LD : out std_logic_vector(2 downto 0); -- A,I;A,R;I,A;R,A;None + ExchangeDH : out std_logic; + ExchangeRp : out std_logic; + ExchangeAF : out std_logic; + ExchangeRS : out std_logic; + I_DJNZ : out std_logic; + I_CPL : out std_logic; + I_CCF : out std_logic; + I_SCF : out std_logic; + I_RETN : out std_logic; + I_BT : out std_logic; + I_BC : out std_logic; + I_BTR : out std_logic; + I_RLD : out std_logic; + I_RRD : out std_logic; + I_INRC : out std_logic; + SetDI : out std_logic; + SetEI : out std_logic; + IMode : out std_logic_vector(1 downto 0); + Halt : out std_logic; + NoRead : out std_logic; + Write : out std_logic; + XYbit_undoc : out std_logic + ); +end T80_MCode; + +architecture rtl of T80_MCode is + + constant aNone : std_logic_vector(2 downto 0) := "111"; + constant aBC : std_logic_vector(2 downto 0) := "000"; + constant aDE : std_logic_vector(2 downto 0) := "001"; + constant aXY : std_logic_vector(2 downto 0) := "010"; + constant aIOA : std_logic_vector(2 downto 0) := "100"; + constant aSP : std_logic_vector(2 downto 0) := "101"; + constant aZI : std_logic_vector(2 downto 0) := "110"; + + function is_cc_true( + F : std_logic_vector(7 downto 0); + cc : bit_vector(2 downto 0) + ) return boolean is + begin + if Mode = 3 then + case cc is + when "000" => return F(7) = '0'; -- NZ + when "001" => return F(7) = '1'; -- Z + when "010" => return F(4) = '0'; -- NC + when "011" => return F(4) = '1'; -- C + when "100" => return false; + when "101" => return false; + when "110" => return false; + when "111" => return false; + end case; + else + case cc is + when "000" => return F(6) = '0'; -- NZ + when "001" => return F(6) = '1'; -- Z + when "010" => return F(0) = '0'; -- NC + when "011" => return F(0) = '1'; -- C + when "100" => return F(2) = '0'; -- PO + when "101" => return F(2) = '1'; -- PE + when "110" => return F(7) = '0'; -- P + when "111" => return F(7) = '1'; -- M + end case; + end if; + end; + +begin + + process (IR, ISet, MCycle, F, NMICycle, IntCycle, XY_State) + variable DDD : std_logic_vector(2 downto 0); + variable SSS : std_logic_vector(2 downto 0); + variable DPair : std_logic_vector(1 downto 0); + variable IRB : bit_vector(7 downto 0); + begin + DDD := IR(5 downto 3); + SSS := IR(2 downto 0); + DPair := IR(5 downto 4); + IRB := to_bitvector(IR); + + MCycles <= "001"; + if MCycle = "001" then + TStates <= "100"; + else + TStates <= "011"; + end if; + Prefix <= "00"; + Inc_PC <= '0'; + Inc_WZ <= '0'; + IncDec_16 <= "0000"; + Read_To_Acc <= '0'; + Read_To_Reg <= '0'; + Set_BusB_To <= "0000"; + Set_BusA_To <= "0000"; + ALU_Op <= "0" & IR(5 downto 3); + Save_ALU <= '0'; + PreserveC <= '0'; + Arith16 <= '0'; + IORQ <= '0'; + Set_Addr_To <= aNone; + Jump <= '0'; + JumpE <= '0'; + JumpXY <= '0'; + Call <= '0'; + RstP <= '0'; + LDZ <= '0'; + LDW <= '0'; + LDSPHL <= '0'; + Special_LD <= "000"; + ExchangeDH <= '0'; + ExchangeRp <= '0'; + ExchangeAF <= '0'; + ExchangeRS <= '0'; + I_DJNZ <= '0'; + I_CPL <= '0'; + I_CCF <= '0'; + I_SCF <= '0'; + I_RETN <= '0'; + I_BT <= '0'; + I_BC <= '0'; + I_BTR <= '0'; + I_RLD <= '0'; + I_RRD <= '0'; + I_INRC <= '0'; + SetDI <= '0'; + SetEI <= '0'; + IMode <= "11"; + Halt <= '0'; + NoRead <= '0'; + Write <= '0'; + XYbit_undoc <= '0'; + + case ISet is + when "00" => + +------------------------------------------------------------------------------ +-- +-- Unprefixed instructions +-- +------------------------------------------------------------------------------ + + case IRB is +-- 8 BIT LOAD GROUP + when "01000000"|"01000001"|"01000010"|"01000011"|"01000100"|"01000101"|"01000111" + |"01001000"|"01001001"|"01001010"|"01001011"|"01001100"|"01001101"|"01001111" + |"01010000"|"01010001"|"01010010"|"01010011"|"01010100"|"01010101"|"01010111" + |"01011000"|"01011001"|"01011010"|"01011011"|"01011100"|"01011101"|"01011111" + |"01100000"|"01100001"|"01100010"|"01100011"|"01100100"|"01100101"|"01100111" + |"01101000"|"01101001"|"01101010"|"01101011"|"01101100"|"01101101"|"01101111" + |"01111000"|"01111001"|"01111010"|"01111011"|"01111100"|"01111101"|"01111111" => + -- LD r,r' + Set_BusB_To(2 downto 0) <= SSS; + ExchangeRp <= '1'; + Set_BusA_To(2 downto 0) <= DDD; + Read_To_Reg <= '1'; + when "00000110"|"00001110"|"00010110"|"00011110"|"00100110"|"00101110"|"00111110" => + -- LD r,n + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + Set_BusA_To(2 downto 0) <= DDD; + Read_To_Reg <= '1'; + when others => null; + end case; + when "01000110"|"01001110"|"01010110"|"01011110"|"01100110"|"01101110"|"01111110" => + -- LD r,(HL) + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aXY; + when 2 => + Set_BusA_To(2 downto 0) <= DDD; + Read_To_Reg <= '1'; + when others => null; + end case; + when "01110000"|"01110001"|"01110010"|"01110011"|"01110100"|"01110101"|"01110111" => + -- LD (HL),r + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aXY; + Set_BusB_To(2 downto 0) <= SSS; + Set_BusB_To(3) <= '0'; + when 2 => + Write <= '1'; + when others => null; + end case; + when "00110110" => + -- LD (HL),n + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + Set_Addr_To <= aXY; + Set_BusB_To(2 downto 0) <= SSS; + Set_BusB_To(3) <= '0'; + when 3 => + Write <= '1'; + when others => null; + end case; + when "00001010" => + -- LD A,(BC) + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aBC; + when 2 => + Read_To_Acc <= '1'; + when others => null; + end case; + when "00011010" => + -- LD A,(DE) + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aDE; + when 2 => + Read_To_Acc <= '1'; + when others => null; + end case; + when "00111010" => + if Mode = 3 then + -- LDD A,(HL) + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aXY; + when 2 => + Read_To_Acc <= '1'; + IncDec_16 <= "1110"; + when others => null; + end case; + else + -- LD A,(nn) + MCycles <= "100"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + LDZ <= '1'; + when 3 => + Set_Addr_To <= aZI; + Inc_PC <= '1'; + when 4 => + Read_To_Acc <= '1'; + when others => null; + end case; + end if; + when "00000010" => + -- LD (BC),A + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aBC; + Set_BusB_To <= "0111"; + when 2 => + Write <= '1'; + when others => null; + end case; + when "00010010" => + -- LD (DE),A + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aDE; + Set_BusB_To <= "0111"; + when 2 => + Write <= '1'; + when others => null; + end case; + when "00110010" => + if Mode = 3 then + -- LDD (HL),A + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aXY; + Set_BusB_To <= "0111"; + when 2 => + Write <= '1'; + IncDec_16 <= "1110"; + when others => null; + end case; + else + -- LD (nn),A + MCycles <= "100"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + LDZ <= '1'; + when 3 => + Set_Addr_To <= aZI; + Inc_PC <= '1'; + Set_BusB_To <= "0111"; + when 4 => + Write <= '1'; + when others => null; + end case; + end if; + +-- 16 BIT LOAD GROUP + when "00000001"|"00010001"|"00100001"|"00110001" => + -- LD dd,nn + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + Read_To_Reg <= '1'; + if DPAIR = "11" then + Set_BusA_To(3 downto 0) <= "1000"; + else + Set_BusA_To(2 downto 1) <= DPAIR; + Set_BusA_To(0) <= '1'; + end if; + when 3 => + Inc_PC <= '1'; + Read_To_Reg <= '1'; + if DPAIR = "11" then + Set_BusA_To(3 downto 0) <= "1001"; + else + Set_BusA_To(2 downto 1) <= DPAIR; + Set_BusA_To(0) <= '0'; + end if; + when others => null; + end case; + when "00101010" => + if Mode = 3 then + -- LDI A,(HL) + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aXY; + when 2 => + Read_To_Acc <= '1'; + IncDec_16 <= "0110"; + when others => null; + end case; + else + -- LD HL,(nn) + MCycles <= "101"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + LDZ <= '1'; + when 3 => + Set_Addr_To <= aZI; + Inc_PC <= '1'; + LDW <= '1'; + when 4 => + Set_BusA_To(2 downto 0) <= "101"; -- L + Read_To_Reg <= '1'; + Inc_WZ <= '1'; + Set_Addr_To <= aZI; + when 5 => + Set_BusA_To(2 downto 0) <= "100"; -- H + Read_To_Reg <= '1'; + when others => null; + end case; + end if; + when "00100010" => + if Mode = 3 then + -- LDI (HL),A + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aXY; + Set_BusB_To <= "0111"; + when 2 => + Write <= '1'; + IncDec_16 <= "0110"; + when others => null; + end case; + else + -- LD (nn),HL + MCycles <= "101"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + LDZ <= '1'; + when 3 => + Set_Addr_To <= aZI; + Inc_PC <= '1'; + LDW <= '1'; + Set_BusB_To <= "0101"; -- L + when 4 => + Inc_WZ <= '1'; + Set_Addr_To <= aZI; + Write <= '1'; + Set_BusB_To <= "0100"; -- H + when 5 => + Write <= '1'; + when others => null; + end case; + end if; + when "11111001" => + -- LD SP,HL + TStates <= "110"; + LDSPHL <= '1'; + when "11000101"|"11010101"|"11100101"|"11110101" => + -- PUSH qq + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 1 => + TStates <= "101"; + IncDec_16 <= "1111"; + Set_Addr_TO <= aSP; + if DPAIR = "11" then + Set_BusB_To <= "0111"; + else + Set_BusB_To(2 downto 1) <= DPAIR; + Set_BusB_To(0) <= '0'; + Set_BusB_To(3) <= '0'; + end if; + when 2 => + IncDec_16 <= "1111"; + Set_Addr_To <= aSP; + if DPAIR = "11" then + Set_BusB_To <= "1011"; + else + Set_BusB_To(2 downto 1) <= DPAIR; + Set_BusB_To(0) <= '1'; + Set_BusB_To(3) <= '0'; + end if; + Write <= '1'; + when 3 => + Write <= '1'; + when others => null; + end case; + when "11000001"|"11010001"|"11100001"|"11110001" => + -- POP qq + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aSP; + when 2 => + IncDec_16 <= "0111"; + Set_Addr_To <= aSP; + Read_To_Reg <= '1'; + if DPAIR = "11" then + Set_BusA_To(3 downto 0) <= "1011"; + else + Set_BusA_To(2 downto 1) <= DPAIR; + Set_BusA_To(0) <= '1'; + end if; + when 3 => + IncDec_16 <= "0111"; + Read_To_Reg <= '1'; + if DPAIR = "11" then + Set_BusA_To(3 downto 0) <= "0111"; + else + Set_BusA_To(2 downto 1) <= DPAIR; + Set_BusA_To(0) <= '0'; + end if; + when others => null; + end case; + +-- EXCHANGE, BLOCK TRANSFER AND SEARCH GROUP + when "11101011" => + if Mode /= 3 then + -- EX DE,HL + ExchangeDH <= '1'; + end if; + when "00001000" => + if Mode = 3 then + -- LD (nn),SP + MCycles <= "101"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + LDZ <= '1'; + when 3 => + Set_Addr_To <= aZI; + Inc_PC <= '1'; + LDW <= '1'; + Set_BusB_To <= "1000"; + when 4 => + Inc_WZ <= '1'; + Set_Addr_To <= aZI; + Write <= '1'; + Set_BusB_To <= "1001"; + when 5 => + Write <= '1'; + when others => null; + end case; + elsif Mode < 2 then + -- EX AF,AF' + ExchangeAF <= '1'; + end if; + when "11011001" => + if Mode = 3 then + -- RETI + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_TO <= aSP; + when 2 => + IncDec_16 <= "0111"; + Set_Addr_To <= aSP; + LDZ <= '1'; + when 3 => + Jump <= '1'; + IncDec_16 <= "0111"; + I_RETN <= '1'; + SetEI <= '1'; + when others => null; + end case; + elsif Mode < 2 then + -- EXX + ExchangeRS <= '1'; + end if; + when "11100011" => + if Mode /= 3 then + -- EX (SP),HL + MCycles <= "101"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aSP; + when 2 => + Read_To_Reg <= '1'; + Set_BusA_To <= "0101"; + Set_BusB_To <= "0101"; + Set_Addr_To <= aSP; + when 3 => + IncDec_16 <= "0111"; + Set_Addr_To <= aSP; + TStates <= "100"; + Write <= '1'; + when 4 => + Read_To_Reg <= '1'; + Set_BusA_To <= "0100"; + Set_BusB_To <= "0100"; + Set_Addr_To <= aSP; + when 5 => + IncDec_16 <= "1111"; + TStates <= "101"; + Write <= '1'; + when others => null; + end case; + end if; + +-- 8 BIT ARITHMETIC AND LOGICAL GROUP + when "10000000"|"10000001"|"10000010"|"10000011"|"10000100"|"10000101"|"10000111" + |"10001000"|"10001001"|"10001010"|"10001011"|"10001100"|"10001101"|"10001111" + |"10010000"|"10010001"|"10010010"|"10010011"|"10010100"|"10010101"|"10010111" + |"10011000"|"10011001"|"10011010"|"10011011"|"10011100"|"10011101"|"10011111" + |"10100000"|"10100001"|"10100010"|"10100011"|"10100100"|"10100101"|"10100111" + |"10101000"|"10101001"|"10101010"|"10101011"|"10101100"|"10101101"|"10101111" + |"10110000"|"10110001"|"10110010"|"10110011"|"10110100"|"10110101"|"10110111" + |"10111000"|"10111001"|"10111010"|"10111011"|"10111100"|"10111101"|"10111111" => + -- ADD A,r + -- ADC A,r + -- SUB A,r + -- SBC A,r + -- AND A,r + -- OR A,r + -- XOR A,r + -- CP A,r + Set_BusB_To(2 downto 0) <= SSS; + Set_BusA_To(2 downto 0) <= "111"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + when "10000110"|"10001110"|"10010110"|"10011110"|"10100110"|"10101110"|"10110110"|"10111110" => + -- ADD A,(HL) + -- ADC A,(HL) + -- SUB A,(HL) + -- SBC A,(HL) + -- AND A,(HL) + -- OR A,(HL) + -- XOR A,(HL) + -- CP A,(HL) + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aXY; + when 2 => + Read_To_Reg <= '1'; + Save_ALU <= '1'; + Set_BusB_To(2 downto 0) <= SSS; + Set_BusA_To(2 downto 0) <= "111"; + when others => null; + end case; + when "11000110"|"11001110"|"11010110"|"11011110"|"11100110"|"11101110"|"11110110"|"11111110" => + -- ADD A,n + -- ADC A,n + -- SUB A,n + -- SBC A,n + -- AND A,n + -- OR A,n + -- XOR A,n + -- CP A,n + MCycles <= "010"; + if MCycle = "010" then + Inc_PC <= '1'; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + Set_BusB_To(2 downto 0) <= SSS; + Set_BusA_To(2 downto 0) <= "111"; + end if; + when "00000100"|"00001100"|"00010100"|"00011100"|"00100100"|"00101100"|"00111100" => + -- INC r + Set_BusB_To <= "1010"; + Set_BusA_To(2 downto 0) <= DDD; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + PreserveC <= '1'; + ALU_Op <= "0000"; + when "00110100" => + -- INC (HL) + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aXY; + when 2 => + TStates <= "100"; + Set_Addr_To <= aXY; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + PreserveC <= '1'; + ALU_Op <= "0000"; + Set_BusB_To <= "1010"; + Set_BusA_To(2 downto 0) <= DDD; + when 3 => + Write <= '1'; + when others => null; + end case; + when "00000101"|"00001101"|"00010101"|"00011101"|"00100101"|"00101101"|"00111101" => + -- DEC r + Set_BusB_To <= "1010"; + Set_BusA_To(2 downto 0) <= DDD; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + PreserveC <= '1'; + ALU_Op <= "0010"; + when "00110101" => + -- DEC (HL) + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aXY; + when 2 => + TStates <= "100"; + Set_Addr_To <= aXY; + ALU_Op <= "0010"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + PreserveC <= '1'; + Set_BusB_To <= "1010"; + Set_BusA_To(2 downto 0) <= DDD; + when 3 => + Write <= '1'; + when others => null; + end case; + +-- GENERAL PURPOSE ARITHMETIC AND CPU CONTROL GROUPS + when "00100111" => + -- DAA + Set_BusA_To(2 downto 0) <= "111"; + Read_To_Reg <= '1'; + ALU_Op <= "1100"; + Save_ALU <= '1'; + when "00101111" => + -- CPL + I_CPL <= '1'; + when "00111111" => + -- CCF + I_CCF <= '1'; + when "00110111" => + -- SCF + I_SCF <= '1'; + when "00000000" => + if NMICycle = '1' then + -- NMI + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 1 => + TStates <= "101"; + IncDec_16 <= "1111"; + Set_Addr_To <= aSP; + Set_BusB_To <= "1101"; + when 2 => + TStates <= "100"; + Write <= '1'; + IncDec_16 <= "1111"; + Set_Addr_To <= aSP; + Set_BusB_To <= "1100"; + when 3 => + TStates <= "100"; + Write <= '1'; + when others => null; + end case; + elsif IntCycle = '1' then + -- INT (IM 2) + MCycles <= "101"; + case to_integer(unsigned(MCycle)) is + when 1 => + LDZ <= '1'; + TStates <= "101"; + IncDec_16 <= "1111"; + Set_Addr_To <= aSP; + Set_BusB_To <= "1101"; + when 2 => + TStates <= "100"; + Write <= '1'; + IncDec_16 <= "1111"; + Set_Addr_To <= aSP; + Set_BusB_To <= "1100"; + when 3 => + TStates <= "100"; + Write <= '1'; + when 4 => + Inc_PC <= '1'; + LDZ <= '1'; + when 5 => + Jump <= '1'; + when others => null; + end case; + else + -- NOP + end if; + when "01110110" => + -- HALT + Halt <= '1'; + when "11110011" => + -- DI + SetDI <= '1'; + when "11111011" => + -- EI + SetEI <= '1'; + +-- 16 BIT ARITHMETIC GROUP + when "00001001"|"00011001"|"00101001"|"00111001" => + -- ADD HL,ss + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + NoRead <= '1'; + ALU_Op <= "0000"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + Set_BusA_To(2 downto 0) <= "101"; + case to_integer(unsigned(IR(5 downto 4))) is + when 0|1|2 => + Set_BusB_To(2 downto 1) <= IR(5 downto 4); + Set_BusB_To(0) <= '1'; + when others => + Set_BusB_To <= "1000"; + end case; + TStates <= "100"; + Arith16 <= '1'; + when 3 => + NoRead <= '1'; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + ALU_Op <= "0001"; + Set_BusA_To(2 downto 0) <= "100"; + case to_integer(unsigned(IR(5 downto 4))) is + when 0|1|2 => + Set_BusB_To(2 downto 1) <= IR(5 downto 4); + when others => + Set_BusB_To <= "1001"; + end case; + Arith16 <= '1'; + when others => + end case; + when "00000011"|"00010011"|"00100011"|"00110011" => + -- INC ss + TStates <= "110"; + IncDec_16(3 downto 2) <= "01"; + IncDec_16(1 downto 0) <= DPair; + when "00001011"|"00011011"|"00101011"|"00111011" => + -- DEC ss + TStates <= "110"; + IncDec_16(3 downto 2) <= "11"; + IncDec_16(1 downto 0) <= DPair; + +-- ROTATE AND SHIFT GROUP + when "00000111" + -- RLCA + |"00010111" + -- RLA + |"00001111" + -- RRCA + |"00011111" => + -- RRA + Set_BusA_To(2 downto 0) <= "111"; + ALU_Op <= "1000"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + +-- JUMP GROUP + when "11000011" => + -- JP nn + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + LDZ <= '1'; + when 3 => + Inc_PC <= '1'; + Jump <= '1'; + when others => null; + end case; + when "11000010"|"11001010"|"11010010"|"11011010"|"11100010"|"11101010"|"11110010"|"11111010" => + if IR(5) = '1' and Mode = 3 then + case IRB(4 downto 3) is + when "00" => + -- LD ($FF00+C),A + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aBC; + Set_BusB_To <= "0111"; + when 2 => + Write <= '1'; + IORQ <= '1'; + when others => + end case; + when "01" => + -- LD (nn),A + MCycles <= "100"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + LDZ <= '1'; + when 3 => + Set_Addr_To <= aZI; + Inc_PC <= '1'; + Set_BusB_To <= "0111"; + when 4 => + Write <= '1'; + when others => null; + end case; + when "10" => + -- LD A,($FF00+C) + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aBC; + when 2 => + Read_To_Acc <= '1'; + IORQ <= '1'; + when others => + end case; + when "11" => + -- LD A,(nn) + MCycles <= "100"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + LDZ <= '1'; + when 3 => + Set_Addr_To <= aZI; + Inc_PC <= '1'; + when 4 => + Read_To_Acc <= '1'; + when others => null; + end case; + end case; + else + -- JP cc,nn + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + LDZ <= '1'; + when 3 => + Inc_PC <= '1'; + if is_cc_true(F, to_bitvector(IR(5 downto 3))) then + Jump <= '1'; + end if; + when others => null; + end case; + end if; + when "00011000" => + if Mode /= 2 then + -- JR e + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + when 3 => + NoRead <= '1'; + JumpE <= '1'; + TStates <= "101"; + when others => null; + end case; + end if; + when "00111000" => + if Mode /= 2 then + -- JR C,e + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + if F(Flag_C) = '0' then + MCycles <= "010"; + end if; + when 3 => + NoRead <= '1'; + JumpE <= '1'; + TStates <= "101"; + when others => null; + end case; + end if; + when "00110000" => + if Mode /= 2 then + -- JR NC,e + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + if F(Flag_C) = '1' then + MCycles <= "010"; + end if; + when 3 => + NoRead <= '1'; + JumpE <= '1'; + TStates <= "101"; + when others => null; + end case; + end if; + when "00101000" => + if Mode /= 2 then + -- JR Z,e + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + if F(Flag_Z) = '0' then + MCycles <= "010"; + end if; + when 3 => + NoRead <= '1'; + JumpE <= '1'; + TStates <= "101"; + when others => null; + end case; + end if; + when "00100000" => + if Mode /= 2 then + -- JR NZ,e + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + if F(Flag_Z) = '1' then + MCycles <= "010"; + end if; + when 3 => + NoRead <= '1'; + JumpE <= '1'; + TStates <= "101"; + when others => null; + end case; + end if; + when "11101001" => + -- JP (HL) + JumpXY <= '1'; + when "00010000" => + if Mode = 3 then + I_DJNZ <= '1'; + elsif Mode < 2 then + -- DJNZ,e + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 1 => + TStates <= "101"; + I_DJNZ <= '1'; + Set_BusB_To <= "1010"; + Set_BusA_To(2 downto 0) <= "000"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + ALU_Op <= "0010"; + when 2 => + I_DJNZ <= '1'; + Inc_PC <= '1'; + when 3 => + NoRead <= '1'; + JumpE <= '1'; + TStates <= "101"; + when others => null; + end case; + end if; + +-- CALL AND RETURN GROUP + when "11001101" => + -- CALL nn + MCycles <= "101"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + LDZ <= '1'; + when 3 => + IncDec_16 <= "1111"; + Inc_PC <= '1'; + TStates <= "100"; + Set_Addr_To <= aSP; + LDW <= '1'; + Set_BusB_To <= "1101"; + when 4 => + Write <= '1'; + IncDec_16 <= "1111"; + Set_Addr_To <= aSP; + Set_BusB_To <= "1100"; + when 5 => + Write <= '1'; + Call <= '1'; + when others => null; + end case; + when "11000100"|"11001100"|"11010100"|"11011100"|"11100100"|"11101100"|"11110100"|"11111100" => + if IR(5) = '0' or Mode /= 3 then + -- CALL cc,nn + MCycles <= "101"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + LDZ <= '1'; + when 3 => + Inc_PC <= '1'; + LDW <= '1'; + if is_cc_true(F, to_bitvector(IR(5 downto 3))) then + IncDec_16 <= "1111"; + Set_Addr_TO <= aSP; + TStates <= "100"; + Set_BusB_To <= "1101"; + else + MCycles <= "011"; + end if; + when 4 => + Write <= '1'; + IncDec_16 <= "1111"; + Set_Addr_To <= aSP; + Set_BusB_To <= "1100"; + when 5 => + Write <= '1'; + Call <= '1'; + when others => null; + end case; + end if; + when "11001001" => + -- RET + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_TO <= aSP; + when 2 => + IncDec_16 <= "0111"; + Set_Addr_To <= aSP; + LDZ <= '1'; + when 3 => + Jump <= '1'; + IncDec_16 <= "0111"; + when others => null; + end case; + when "11000000"|"11001000"|"11010000"|"11011000"|"11100000"|"11101000"|"11110000"|"11111000" => + if IR(5) = '1' and Mode = 3 then + case IRB(4 downto 3) is + when "00" => + -- LD ($FF00+nn),A + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + Set_Addr_To <= aIOA; + Set_BusB_To <= "0111"; + when 3 => + Write <= '1'; + when others => null; + end case; + when "01" => + -- ADD SP,n + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + ALU_Op <= "0000"; + Inc_PC <= '1'; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + Set_BusA_To <= "1000"; + Set_BusB_To <= "0110"; + when 3 => + NoRead <= '1'; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + ALU_Op <= "0001"; + Set_BusA_To <= "1001"; + Set_BusB_To <= "1110"; -- Incorrect unsigned !!!!!!!!!!!!!!!!!!!!! + when others => + end case; + when "10" => + -- LD A,($FF00+nn) + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + Set_Addr_To <= aIOA; + when 3 => + Read_To_Acc <= '1'; + when others => null; + end case; + when "11" => + -- LD HL,SP+n -- Not correct !!!!!!!!!!!!!!!!!!! + MCycles <= "101"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + LDZ <= '1'; + when 3 => + Set_Addr_To <= aZI; + Inc_PC <= '1'; + LDW <= '1'; + when 4 => + Set_BusA_To(2 downto 0) <= "101"; -- L + Read_To_Reg <= '1'; + Inc_WZ <= '1'; + Set_Addr_To <= aZI; + when 5 => + Set_BusA_To(2 downto 0) <= "100"; -- H + Read_To_Reg <= '1'; + when others => null; + end case; + end case; + else + -- RET cc + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 1 => + if is_cc_true(F, to_bitvector(IR(5 downto 3))) then + Set_Addr_TO <= aSP; + else + MCycles <= "001"; + end if; + TStates <= "101"; + when 2 => + IncDec_16 <= "0111"; + Set_Addr_To <= aSP; + LDZ <= '1'; + when 3 => + Jump <= '1'; + IncDec_16 <= "0111"; + when others => null; + end case; + end if; + when "11000111"|"11001111"|"11010111"|"11011111"|"11100111"|"11101111"|"11110111"|"11111111" => + -- RST p + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 1 => + TStates <= "101"; + IncDec_16 <= "1111"; + Set_Addr_To <= aSP; + Set_BusB_To <= "1101"; + when 2 => + Write <= '1'; + IncDec_16 <= "1111"; + Set_Addr_To <= aSP; + Set_BusB_To <= "1100"; + when 3 => + Write <= '1'; + RstP <= '1'; + when others => null; + end case; + +-- INPUT AND OUTPUT GROUP + when "11011011" => + if Mode /= 3 then + -- IN A,(n) + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + Set_Addr_To <= aIOA; + when 3 => + Read_To_Acc <= '1'; + IORQ <= '1'; + TStates <= "100"; -- MIKEJ should be 4 for IO cycle + when others => null; + end case; + end if; + when "11010011" => + if Mode /= 3 then + -- OUT (n),A + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + Set_Addr_To <= aIOA; + Set_BusB_To <= "0111"; + when 3 => + Write <= '1'; + IORQ <= '1'; + TStates <= "100"; -- MIKEJ should be 4 for IO cycle + when others => null; + end case; + end if; + +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ +-- MULTIBYTE INSTRUCTIONS +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ + + when "11001011" => + if Mode /= 2 then + Prefix <= "01"; + end if; + + when "11101101" => + if Mode < 2 then + Prefix <= "10"; + end if; + + when "11011101"|"11111101" => + if Mode < 2 then + Prefix <= "11"; + end if; + + end case; + + when "01" => + +------------------------------------------------------------------------------ +-- +-- CB prefixed instructions +-- +------------------------------------------------------------------------------ + + Set_BusA_To(2 downto 0) <= IR(2 downto 0); + Set_BusB_To(2 downto 0) <= IR(2 downto 0); + + case IRB is + when "00000000"|"00000001"|"00000010"|"00000011"|"00000100"|"00000101"|"00000111" + |"00010000"|"00010001"|"00010010"|"00010011"|"00010100"|"00010101"|"00010111" + |"00001000"|"00001001"|"00001010"|"00001011"|"00001100"|"00001101"|"00001111" + |"00011000"|"00011001"|"00011010"|"00011011"|"00011100"|"00011101"|"00011111" + |"00100000"|"00100001"|"00100010"|"00100011"|"00100100"|"00100101"|"00100111" + |"00101000"|"00101001"|"00101010"|"00101011"|"00101100"|"00101101"|"00101111" + |"00110000"|"00110001"|"00110010"|"00110011"|"00110100"|"00110101"|"00110111" + |"00111000"|"00111001"|"00111010"|"00111011"|"00111100"|"00111101"|"00111111" => + -- RLC r + -- RL r + -- RRC r + -- RR r + -- SLA r + -- SRA r + -- SRL r + -- SLL r (Undocumented) / SWAP r + if XY_State="00" then + if MCycle = "001" then + ALU_Op <= "1000"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + end if; + else + -- R/S (IX+d),Reg, undocumented + MCycles <= "011"; + XYbit_undoc <= '1'; + case to_integer(unsigned(MCycle)) is + when 1 | 7=> + Set_Addr_To <= aXY; + when 2 => + ALU_Op <= "1000"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + Set_Addr_To <= aXY; + TStates <= "100"; + when 3 => + Write <= '1'; + when others => null; + end case; + end if; + + + when "00000110"|"00010110"|"00001110"|"00011110"|"00101110"|"00111110"|"00100110"|"00110110" => + -- RLC (HL) + -- RL (HL) + -- RRC (HL) + -- RR (HL) + -- SRA (HL) + -- SRL (HL) + -- SLA (HL) + -- SLL (HL) (Undocumented) / SWAP (HL) + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 1 | 7 => + Set_Addr_To <= aXY; + when 2 => + ALU_Op <= "1000"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + Set_Addr_To <= aXY; + TStates <= "100"; + when 3 => + Write <= '1'; + when others => + end case; + when "01000000"|"01000001"|"01000010"|"01000011"|"01000100"|"01000101"|"01000111" + |"01001000"|"01001001"|"01001010"|"01001011"|"01001100"|"01001101"|"01001111" + |"01010000"|"01010001"|"01010010"|"01010011"|"01010100"|"01010101"|"01010111" + |"01011000"|"01011001"|"01011010"|"01011011"|"01011100"|"01011101"|"01011111" + |"01100000"|"01100001"|"01100010"|"01100011"|"01100100"|"01100101"|"01100111" + |"01101000"|"01101001"|"01101010"|"01101011"|"01101100"|"01101101"|"01101111" + |"01110000"|"01110001"|"01110010"|"01110011"|"01110100"|"01110101"|"01110111" + |"01111000"|"01111001"|"01111010"|"01111011"|"01111100"|"01111101"|"01111111" => + -- BIT b,r + if XY_State="00" then + if MCycle = "001" then + Set_BusB_To(2 downto 0) <= IR(2 downto 0); + ALU_Op <= "1001"; + end if; + else + -- BIT b,(IX+d), undocumented + MCycles <= "010"; + XYbit_undoc <= '1'; + case to_integer(unsigned(MCycle)) is + when 1 | 7=> + Set_Addr_To <= aXY; + when 2 => + ALU_Op <= "1001"; + TStates <= "100"; + when others => null; + end case; + end if; + when "01000110"|"01001110"|"01010110"|"01011110"|"01100110"|"01101110"|"01110110"|"01111110" => + -- BIT b,(HL) + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 1 | 7=> + Set_Addr_To <= aXY; + when 2 => + ALU_Op <= "1001"; + TStates <= "100"; + when others => null; + end case; + when "11000000"|"11000001"|"11000010"|"11000011"|"11000100"|"11000101"|"11000111" + |"11001000"|"11001001"|"11001010"|"11001011"|"11001100"|"11001101"|"11001111" + |"11010000"|"11010001"|"11010010"|"11010011"|"11010100"|"11010101"|"11010111" + |"11011000"|"11011001"|"11011010"|"11011011"|"11011100"|"11011101"|"11011111" + |"11100000"|"11100001"|"11100010"|"11100011"|"11100100"|"11100101"|"11100111" + |"11101000"|"11101001"|"11101010"|"11101011"|"11101100"|"11101101"|"11101111" + |"11110000"|"11110001"|"11110010"|"11110011"|"11110100"|"11110101"|"11110111" + |"11111000"|"11111001"|"11111010"|"11111011"|"11111100"|"11111101"|"11111111" => + -- SET b,r + if XY_State="00" then + if MCycle = "001" then + ALU_Op <= "1010"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + end if; + else + -- SET b,(IX+d),Reg, undocumented + MCycles <= "011"; + XYbit_undoc <= '1'; + case to_integer(unsigned(MCycle)) is + when 1 | 7=> + Set_Addr_To <= aXY; + when 2 => + ALU_Op <= "1010"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + Set_Addr_To <= aXY; + TStates <= "100"; + when 3 => + Write <= '1'; + when others => null; + end case; + end if; + when "11000110"|"11001110"|"11010110"|"11011110"|"11100110"|"11101110"|"11110110"|"11111110" => + -- SET b,(HL) + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 1 | 7=> + Set_Addr_To <= aXY; + when 2 => + ALU_Op <= "1010"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + Set_Addr_To <= aXY; + TStates <= "100"; + when 3 => + Write <= '1'; + when others => null; + end case; + when "10000000"|"10000001"|"10000010"|"10000011"|"10000100"|"10000101"|"10000111" + |"10001000"|"10001001"|"10001010"|"10001011"|"10001100"|"10001101"|"10001111" + |"10010000"|"10010001"|"10010010"|"10010011"|"10010100"|"10010101"|"10010111" + |"10011000"|"10011001"|"10011010"|"10011011"|"10011100"|"10011101"|"10011111" + |"10100000"|"10100001"|"10100010"|"10100011"|"10100100"|"10100101"|"10100111" + |"10101000"|"10101001"|"10101010"|"10101011"|"10101100"|"10101101"|"10101111" + |"10110000"|"10110001"|"10110010"|"10110011"|"10110100"|"10110101"|"10110111" + |"10111000"|"10111001"|"10111010"|"10111011"|"10111100"|"10111101"|"10111111" => + -- RES b,r + if XY_State="00" then + if MCycle = "001" then + ALU_Op <= "1011"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + end if; + else + -- RES b,(IX+d),Reg, undocumented + MCycles <= "011"; + XYbit_undoc <= '1'; + case to_integer(unsigned(MCycle)) is + when 1 | 7=> + Set_Addr_To <= aXY; + when 2 => + ALU_Op <= "1011"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + Set_Addr_To <= aXY; + TStates <= "100"; + when 3 => + Write <= '1'; + when others => null; + end case; + end if; + + when "10000110"|"10001110"|"10010110"|"10011110"|"10100110"|"10101110"|"10110110"|"10111110" => + -- RES b,(HL) + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 1 | 7 => + Set_Addr_To <= aXY; + when 2 => + ALU_Op <= "1011"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + Set_Addr_To <= aXY; + TStates <= "100"; + when 3 => + Write <= '1'; + when others => null; + end case; + end case; + + when others => + +------------------------------------------------------------------------------ +-- +-- ED prefixed instructions +-- +------------------------------------------------------------------------------ + + case IRB is + when "00000000"|"00000001"|"00000010"|"00000011"|"00000100"|"00000101"|"00000110"|"00000111" + |"00001000"|"00001001"|"00001010"|"00001011"|"00001100"|"00001101"|"00001110"|"00001111" + |"00010000"|"00010001"|"00010010"|"00010011"|"00010100"|"00010101"|"00010110"|"00010111" + |"00011000"|"00011001"|"00011010"|"00011011"|"00011100"|"00011101"|"00011110"|"00011111" + |"00100000"|"00100001"|"00100010"|"00100011"|"00100100"|"00100101"|"00100110"|"00100111" + |"00101000"|"00101001"|"00101010"|"00101011"|"00101100"|"00101101"|"00101110"|"00101111" + |"00110000"|"00110001"|"00110010"|"00110011"|"00110100"|"00110101"|"00110110"|"00110111" + |"00111000"|"00111001"|"00111010"|"00111011"|"00111100"|"00111101"|"00111110"|"00111111" + + + |"10000000"|"10000001"|"10000010"|"10000011"|"10000100"|"10000101"|"10000110"|"10000111" + |"10001000"|"10001001"|"10001010"|"10001011"|"10001100"|"10001101"|"10001110"|"10001111" + |"10010000"|"10010001"|"10010010"|"10010011"|"10010100"|"10010101"|"10010110"|"10010111" + |"10011000"|"10011001"|"10011010"|"10011011"|"10011100"|"10011101"|"10011110"|"10011111" + | "10100100"|"10100101"|"10100110"|"10100111" + | "10101100"|"10101101"|"10101110"|"10101111" + | "10110100"|"10110101"|"10110110"|"10110111" + | "10111100"|"10111101"|"10111110"|"10111111" + |"11000000"|"11000001"|"11000010"|"11000011"|"11000100"|"11000101"|"11000110"|"11000111" + |"11001000"|"11001001"|"11001010"|"11001011"|"11001100"|"11001101"|"11001110"|"11001111" + |"11010000"|"11010001"|"11010010"|"11010011"|"11010100"|"11010101"|"11010110"|"11010111" + |"11011000"|"11011001"|"11011010"|"11011011"|"11011100"|"11011101"|"11011110"|"11011111" + |"11100000"|"11100001"|"11100010"|"11100011"|"11100100"|"11100101"|"11100110"|"11100111" + |"11101000"|"11101001"|"11101010"|"11101011"|"11101100"|"11101101"|"11101110"|"11101111" + |"11110000"|"11110001"|"11110010"|"11110011"|"11110100"|"11110101"|"11110110"|"11110111" + |"11111000"|"11111001"|"11111010"|"11111011"|"11111100"|"11111101"|"11111110"|"11111111" => + null; -- NOP, undocumented + when "01111110"|"01111111" => + -- NOP, undocumented + null; +-- 8 BIT LOAD GROUP + when "01010111" => + -- LD A,I + Special_LD <= "100"; + TStates <= "101"; + when "01011111" => + -- LD A,R + Special_LD <= "101"; + TStates <= "101"; + when "01000111" => + -- LD I,A + Special_LD <= "110"; + TStates <= "101"; + when "01001111" => + -- LD R,A + Special_LD <= "111"; + TStates <= "101"; +-- 16 BIT LOAD GROUP + when "01001011"|"01011011"|"01101011"|"01111011" => + -- LD dd,(nn) + MCycles <= "101"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + LDZ <= '1'; + when 3 => + Set_Addr_To <= aZI; + Inc_PC <= '1'; + LDW <= '1'; + when 4 => + Read_To_Reg <= '1'; + if IR(5 downto 4) = "11" then + Set_BusA_To <= "1000"; + else + Set_BusA_To(2 downto 1) <= IR(5 downto 4); + Set_BusA_To(0) <= '1'; + end if; + Inc_WZ <= '1'; + Set_Addr_To <= aZI; + when 5 => + Read_To_Reg <= '1'; + if IR(5 downto 4) = "11" then + Set_BusA_To <= "1001"; + else + Set_BusA_To(2 downto 1) <= IR(5 downto 4); + Set_BusA_To(0) <= '0'; + end if; + when others => null; + end case; + when "01000011"|"01010011"|"01100011"|"01110011" => + -- LD (nn),dd + MCycles <= "101"; + case to_integer(unsigned(MCycle)) is + when 2 => + Inc_PC <= '1'; + LDZ <= '1'; + when 3 => + Set_Addr_To <= aZI; + Inc_PC <= '1'; + LDW <= '1'; + if IR(5 downto 4) = "11" then + Set_BusB_To <= "1000"; + else + Set_BusB_To(2 downto 1) <= IR(5 downto 4); + Set_BusB_To(0) <= '1'; + Set_BusB_To(3) <= '0'; + end if; + when 4 => + Inc_WZ <= '1'; + Set_Addr_To <= aZI; + Write <= '1'; + if IR(5 downto 4) = "11" then + Set_BusB_To <= "1001"; + else + Set_BusB_To(2 downto 1) <= IR(5 downto 4); + Set_BusB_To(0) <= '0'; + Set_BusB_To(3) <= '0'; + end if; + when 5 => + Write <= '1'; + when others => null; + end case; + when "10100000" | "10101000" | "10110000" | "10111000" => + -- LDI, LDD, LDIR, LDDR + MCycles <= "100"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aXY; + IncDec_16 <= "1100"; -- BC + when 2 => + Set_BusB_To <= "0110"; + Set_BusA_To(2 downto 0) <= "111"; + ALU_Op <= "0000"; + Set_Addr_To <= aDE; + if IR(3) = '0' then + IncDec_16 <= "0110"; -- IX + else + IncDec_16 <= "1110"; + end if; + when 3 => + I_BT <= '1'; + TStates <= "101"; + Write <= '1'; + if IR(3) = '0' then + IncDec_16 <= "0101"; -- DE + else + IncDec_16 <= "1101"; + end if; + when 4 => + NoRead <= '1'; + TStates <= "101"; + when others => null; + end case; + when "10100001" | "10101001" | "10110001" | "10111001" => + -- CPI, CPD, CPIR, CPDR + MCycles <= "100"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aXY; + IncDec_16 <= "1100"; -- BC + when 2 => + Set_BusB_To <= "0110"; + Set_BusA_To(2 downto 0) <= "111"; + ALU_Op <= "0111"; + Save_ALU <= '1'; + PreserveC <= '1'; + if IR(3) = '0' then + IncDec_16 <= "0110"; + else + IncDec_16 <= "1110"; + end if; + when 3 => + NoRead <= '1'; + I_BC <= '1'; + TStates <= "101"; + when 4 => + NoRead <= '1'; + TStates <= "101"; + when others => null; + end case; + when "01000100"|"01001100"|"01010100"|"01011100"|"01100100"|"01101100"|"01110100"|"01111100" => + -- NEG + Alu_OP <= "0010"; + Set_BusB_To <= "0111"; + Set_BusA_To <= "1010"; + Read_To_Acc <= '1'; + Save_ALU <= '1'; + when "01000110"|"01001110"|"01100110"|"01101110" => + -- IM 0 + IMode <= "00"; + when "01010110"|"01110110" => + -- IM 1 + IMode <= "01"; + when "01011110"|"01110111" => + -- IM 2 + IMode <= "10"; +-- 16 bit arithmetic + when "01001010"|"01011010"|"01101010"|"01111010" => + -- ADC HL,ss + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + NoRead <= '1'; + ALU_Op <= "0001"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + Set_BusA_To(2 downto 0) <= "101"; + case to_integer(unsigned(IR(5 downto 4))) is + when 0|1|2 => + Set_BusB_To(2 downto 1) <= IR(5 downto 4); + Set_BusB_To(0) <= '1'; + when others => + Set_BusB_To <= "1000"; + end case; + TStates <= "100"; + when 3 => + NoRead <= '1'; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + ALU_Op <= "0001"; + Set_BusA_To(2 downto 0) <= "100"; + case to_integer(unsigned(IR(5 downto 4))) is + when 0|1|2 => + Set_BusB_To(2 downto 1) <= IR(5 downto 4); + Set_BusB_To(0) <= '0'; + when others => + Set_BusB_To <= "1001"; + end case; + when others => + end case; + when "01000010"|"01010010"|"01100010"|"01110010" => + -- SBC HL,ss + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 2 => + NoRead <= '1'; + ALU_Op <= "0011"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + Set_BusA_To(2 downto 0) <= "101"; + case to_integer(unsigned(IR(5 downto 4))) is + when 0|1|2 => + Set_BusB_To(2 downto 1) <= IR(5 downto 4); + Set_BusB_To(0) <= '1'; + when others => + Set_BusB_To <= "1000"; + end case; + TStates <= "100"; + when 3 => + NoRead <= '1'; + ALU_Op <= "0011"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + Set_BusA_To(2 downto 0) <= "100"; + case to_integer(unsigned(IR(5 downto 4))) is + when 0|1|2 => + Set_BusB_To(2 downto 1) <= IR(5 downto 4); + when others => + Set_BusB_To <= "1001"; + end case; + when others => + end case; + when "01101111" => + -- RLD + MCycles <= "100"; + case to_integer(unsigned(MCycle)) is + when 2 => + NoRead <= '1'; + Set_Addr_To <= aXY; + when 3 => + Read_To_Reg <= '1'; + Set_BusB_To(2 downto 0) <= "110"; + Set_BusA_To(2 downto 0) <= "111"; + ALU_Op <= "1101"; + TStates <= "100"; + Set_Addr_To <= aXY; + Save_ALU <= '1'; + when 4 => + I_RLD <= '1'; + Write <= '1'; + when others => + end case; + when "01100111" => + -- RRD + MCycles <= "100"; + case to_integer(unsigned(MCycle)) is + when 2 => + Set_Addr_To <= aXY; + when 3 => + Read_To_Reg <= '1'; + Set_BusB_To(2 downto 0) <= "110"; + Set_BusA_To(2 downto 0) <= "111"; + ALU_Op <= "1110"; + TStates <= "100"; + Set_Addr_To <= aXY; + Save_ALU <= '1'; + when 4 => + I_RRD <= '1'; + Write <= '1'; + when others => + end case; + when "01000101"|"01001101"|"01010101"|"01011101"|"01100101"|"01101101"|"01110101"|"01111101" => + -- RETI, RETN + MCycles <= "011"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_TO <= aSP; + when 2 => + IncDec_16 <= "0111"; + Set_Addr_To <= aSP; + LDZ <= '1'; + when 3 => + Jump <= '1'; + IncDec_16 <= "0111"; + I_RETN <= '1'; + when others => null; + end case; + when "01000000"|"01001000"|"01010000"|"01011000"|"01100000"|"01101000"|"01110000"|"01111000" => + -- IN r,(C) + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aBC; + when 2 => + TStates <= "100"; -- MIKEJ should be 4 for IO cycle + IORQ <= '1'; + if IR(5 downto 3) /= "110" then + Read_To_Reg <= '1'; + Set_BusA_To(2 downto 0) <= IR(5 downto 3); + end if; + I_INRC <= '1'; + when others => + end case; + when "01000001"|"01001001"|"01010001"|"01011001"|"01100001"|"01101001"|"01110001"|"01111001" => + -- OUT (C),r + -- OUT (C),0 + MCycles <= "010"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aBC; + Set_BusB_To(2 downto 0) <= IR(5 downto 3); + if IR(5 downto 3) = "110" then + Set_BusB_To(3) <= '1'; + end if; + when 2 => + TStates <= "100"; -- MIKEJ should be 4 for IO cycle + Write <= '1'; + IORQ <= '1'; + when others => + end case; + when "10100010" | "10101010" | "10110010" | "10111010" => + -- INI, IND, INIR, INDR + -- note B is decremented AFTER being put on the bus + MCycles <= "100"; + case to_integer(unsigned(MCycle)) is + when 1 => + Set_Addr_To <= aBC; + Set_BusB_To <= "1010"; + Set_BusA_To <= "0000"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + ALU_Op <= "0010"; + when 2 => + TStates <= "100"; -- MIKEJ should be 4 for IO cycle + IORQ <= '1'; + Set_BusB_To <= "0110"; + Set_Addr_To <= aXY; + when 3 => + if IR(3) = '0' then + --IncDec_16 <= "0010"; + IncDec_16 <= "0110"; + else + --IncDec_16 <= "1010"; + IncDec_16 <= "1110"; + end if; + TStates <= "100"; + Write <= '1'; + I_BTR <= '1'; + when 4 => + NoRead <= '1'; + TStates <= "101"; + when others => null; + end case; + when "10100011" | "10101011" | "10110011" | "10111011" => + -- OUTI, OUTD, OTIR, OTDR + -- note B is decremented BEFORE being put on the bus. + -- mikej fix for hl inc + MCycles <= "100"; + case to_integer(unsigned(MCycle)) is + when 1 => + TStates <= "101"; + Set_Addr_To <= aXY; + Set_BusB_To <= "1010"; + Set_BusA_To <= "0000"; + Read_To_Reg <= '1'; + Save_ALU <= '1'; + ALU_Op <= "0010"; + when 2 => + Set_BusB_To <= "0110"; + Set_Addr_To <= aBC; + when 3 => + if IR(3) = '0' then + IncDec_16 <= "0110"; -- mikej + else + IncDec_16 <= "1110"; -- mikej + end if; + TStates <= "100"; -- MIKEJ should be 4 for IO cycle + IORQ <= '1'; + Write <= '1'; + I_BTR <= '1'; + when 4 => + NoRead <= '1'; + TStates <= "101"; + when others => null; + end case; + end case; + + end case; + + if Mode = 1 then + if MCycle = "001" then +-- TStates <= "100"; + else + TStates <= "011"; + end if; + end if; + + if Mode = 3 then + if MCycle = "001" then +-- TStates <= "100"; + else + TStates <= "100"; + end if; + end if; + + if Mode < 2 then + if MCycle = "110" then + Inc_PC <= '1'; + if Mode = 1 then + Set_Addr_To <= aXY; + TStates <= "100"; + Set_BusB_To(2 downto 0) <= SSS; + Set_BusB_To(3) <= '0'; + end if; + if IRB = "00110110" or IRB = "11001011" then + Set_Addr_To <= aNone; + end if; + end if; + if MCycle = "111" then + if Mode = 0 then + TStates <= "101"; + end if; + if ISet /= "01" then + Set_Addr_To <= aXY; + end if; + Set_BusB_To(2 downto 0) <= SSS; + Set_BusB_To(3) <= '0'; + if IRB = "00110110" or ISet = "01" then + -- LD (HL),n + Inc_PC <= '1'; + else + NoRead <= '1'; + end if; + end if; + end if; + + end process; + +end; diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80_Pack.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80_Pack.vhd new file mode 100644 index 00000000..b1de7a83 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80_Pack.vhd @@ -0,0 +1,220 @@ +-- **** +-- T80(b) core. In an effort to merge and maintain bug fixes .... +-- +-- Ver 303 add undocumented DDCB and FDCB opcodes by TobiFlex 20.04.2010 +-- Ver 300 started tidyup +-- +-- Latest version from www.fpgaarcade.com (original www.opencores.org) +-- +-- $Id: T80_Pack.vhd 1330 2015-05-22 19:55:46Z wolfgang.scherr $ +-- +-- **** +-- +-- Z80 compatible microprocessor core +-- +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +-- MikeJ March 2005 +-- +-- All rights reserved +-- +-- Redistribution and use in source and synthezised forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- Redistributions in synthesized form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- Neither the name of the author nor the names of other contributors may +-- be used to endorse or promote products derived from this software without +-- specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE +-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- +-- Please report bugs to the author, but before you do so, please +-- make sure that this is not a derivative work and that +-- you have the latest version of this file. +-- +-- The latest version of this file can be found at: +-- http://www.opencores.org/cvsweb.shtml/t80/ +-- +-- Limitations : +-- +-- File history : +-- + +library IEEE; +use IEEE.std_logic_1164.all; + +package T80_Pack is + + component T80 + generic( + Mode : integer := 0; -- 0 => Z80, 1 => Fast Z80, 2 => 8080, 3 => GB + IOWait : integer := 0; -- 1 => Single cycle I/O, 1 => Std I/O cycle + Flag_C : integer := 0; + Flag_N : integer := 1; + Flag_P : integer := 2; + Flag_X : integer := 3; + Flag_H : integer := 4; + Flag_Y : integer := 5; + Flag_Z : integer := 6; + Flag_S : integer := 7 + ); + port( + RESET_n : in std_logic; + CLK_n : in std_logic; + CEN : in std_logic; + WAIT_n : in std_logic; + INT_n : in std_logic; + NMI_n : in std_logic; + BUSRQ_n : in std_logic; + M1_n : out std_logic; + IORQ : out std_logic; + NoRead : out std_logic; + Write : out std_logic; + RFSH_n : out std_logic; + HALT_n : out std_logic; + BUSAK_n : out std_logic; + A : out std_logic_vector(15 downto 0); + DInst : in std_logic_vector(7 downto 0); + DI : in std_logic_vector(7 downto 0); + DO : out std_logic_vector(7 downto 0); + MC : out std_logic_vector(2 downto 0); + TS : out std_logic_vector(2 downto 0); + IntCycle_n : out std_logic; + IntE : out std_logic; + Stop : out std_logic + ); + end component; + + component T80_Reg + port( + Clk : in std_logic; + CEN : in std_logic; + WEH : in std_logic; + WEL : in std_logic; + AddrA : in std_logic_vector(2 downto 0); + AddrB : in std_logic_vector(2 downto 0); + AddrC : in std_logic_vector(2 downto 0); + DIH : in std_logic_vector(7 downto 0); + DIL : in std_logic_vector(7 downto 0); + DOAH : out std_logic_vector(7 downto 0); + DOAL : out std_logic_vector(7 downto 0); + DOBH : out std_logic_vector(7 downto 0); + DOBL : out std_logic_vector(7 downto 0); + DOCH : out std_logic_vector(7 downto 0); + DOCL : out std_logic_vector(7 downto 0) + ); + end component; + + component T80_MCode + generic( + Mode : integer := 0; + Flag_C : integer := 0; + Flag_N : integer := 1; + Flag_P : integer := 2; + Flag_X : integer := 3; + Flag_H : integer := 4; + Flag_Y : integer := 5; + Flag_Z : integer := 6; + Flag_S : integer := 7 + ); + port( + IR : in std_logic_vector(7 downto 0); + ISet : in std_logic_vector(1 downto 0); + MCycle : in std_logic_vector(2 downto 0); + F : in std_logic_vector(7 downto 0); + NMICycle : in std_logic; + IntCycle : in std_logic; + XY_State : in std_logic_vector(1 downto 0); + MCycles : out std_logic_vector(2 downto 0); + TStates : out std_logic_vector(2 downto 0); + Prefix : out std_logic_vector(1 downto 0); -- None,BC,ED,DD/FD + Inc_PC : out std_logic; + Inc_WZ : out std_logic; + IncDec_16 : out std_logic_vector(3 downto 0); -- BC,DE,HL,SP 0 is inc + Read_To_Reg : out std_logic; + Read_To_Acc : out std_logic; + Set_BusA_To : out std_logic_vector(3 downto 0); -- B,C,D,E,H,L,DI/DB,A,SP(L),SP(M),0,F + Set_BusB_To : out std_logic_vector(3 downto 0); -- B,C,D,E,H,L,DI,A,SP(L),SP(M),1,F,PC(L),PC(M),0 + ALU_Op : out std_logic_vector(3 downto 0); + -- ADD, ADC, SUB, SBC, AND, XOR, OR, CP, ROT, BIT, SET, RES, DAA, RLD, RRD, None + Save_ALU : out std_logic; + PreserveC : out std_logic; + Arith16 : out std_logic; + Set_Addr_To : out std_logic_vector(2 downto 0); -- aNone,aXY,aIOA,aSP,aBC,aDE,aZI + IORQ : out std_logic; + Jump : out std_logic; + JumpE : out std_logic; + JumpXY : out std_logic; + Call : out std_logic; + RstP : out std_logic; + LDZ : out std_logic; + LDW : out std_logic; + LDSPHL : out std_logic; + Special_LD : out std_logic_vector(2 downto 0); -- A,I;A,R;I,A;R,A;None + ExchangeDH : out std_logic; + ExchangeRp : out std_logic; + ExchangeAF : out std_logic; + ExchangeRS : out std_logic; + I_DJNZ : out std_logic; + I_CPL : out std_logic; + I_CCF : out std_logic; + I_SCF : out std_logic; + I_RETN : out std_logic; + I_BT : out std_logic; + I_BC : out std_logic; + I_BTR : out std_logic; + I_RLD : out std_logic; + I_RRD : out std_logic; + I_INRC : out std_logic; + SetDI : out std_logic; + SetEI : out std_logic; + IMode : out std_logic_vector(1 downto 0); + Halt : out std_logic; + NoRead : out std_logic; + Write : out std_logic; + XYbit_undoc : out std_logic + ); + end component; + + component T80_ALU + generic( + Mode : integer := 0; + Flag_C : integer := 0; + Flag_N : integer := 1; + Flag_P : integer := 2; + Flag_X : integer := 3; + Flag_H : integer := 4; + Flag_Y : integer := 5; + Flag_Z : integer := 6; + Flag_S : integer := 7 + ); + port( + Arith16 : in std_logic; + Z16 : in std_logic; + ALU_Op : in std_logic_vector(3 downto 0); + IR : in std_logic_vector(5 downto 0); + ISet : in std_logic_vector(1 downto 0); + BusA : in std_logic_vector(7 downto 0); + BusB : in std_logic_vector(7 downto 0); + F_In : in std_logic_vector(7 downto 0); + Q : out std_logic_vector(7 downto 0); + F_Out : out std_logic_vector(7 downto 0) + ); + end component; + +end; diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80_Reg.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80_Reg.vhd new file mode 100644 index 00000000..61626b59 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80_Reg.vhd @@ -0,0 +1,116 @@ +-- **** +-- T80(b) core. In an effort to merge and maintain bug fixes .... +-- +-- Ver 304 init values of registers on first startup (better simulation) +-- Ver 300 started tidyup +-- +-- Latest version from www.fpgaarcade.com (original www.opencores.org) +-- +-- $Id: T80_Reg.vhd 1330 2015-05-22 19:55:46Z wolfgang.scherr $ +-- +-- **** +-- +-- T80 Registers, technology independent +-- +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +-- MikeJ March 2005 +-- Wolfgang Scherr 2011-2015 (email: WoS pin4 at) +-- +-- All rights reserved +-- +-- Redistribution and use in source and synthezised forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- Redistributions in synthesized form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- Neither the name of the author nor the names of other contributors may +-- be used to endorse or promote products derived from this software without +-- specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE +-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- +-- Please report bugs to the author, but before you do so, please +-- make sure that this is not a derivative work and that +-- you have the latest version of this file. +-- +-- The latest version of this file can be found at: +-- http://www.opencores.org/cvsweb.shtml/t51/ +-- +-- Limitations : +-- +-- File history : +-- +-- 0242 : Initial release +-- +-- 0244 : Changed to single register file +-- + +library IEEE; +use IEEE.std_logic_1164.all; +use IEEE.numeric_std.all; + +entity T80_Reg is + port( + Clk : in std_logic; + CEN : in std_logic; + WEH : in std_logic; + WEL : in std_logic; + AddrA : in std_logic_vector(2 downto 0); + AddrB : in std_logic_vector(2 downto 0); + AddrC : in std_logic_vector(2 downto 0); + DIH : in std_logic_vector(7 downto 0); + DIL : in std_logic_vector(7 downto 0); + DOAH : out std_logic_vector(7 downto 0); + DOAL : out std_logic_vector(7 downto 0); + DOBH : out std_logic_vector(7 downto 0); + DOBL : out std_logic_vector(7 downto 0); + DOCH : out std_logic_vector(7 downto 0); + DOCL : out std_logic_vector(7 downto 0) + ); +end T80_Reg; + +architecture rtl of T80_Reg is + + type Register_Image is array (natural range <>) of std_logic_vector(7 downto 0); + signal RegsH : Register_Image(0 to 7) := (others => (others => '0')); + signal RegsL : Register_Image(0 to 7) := (others => (others => '0')); + +begin + + process (Clk) + begin + if Clk'event and Clk = '1' then + if CEN = '1' then + if WEH = '1' then + RegsH(to_integer(unsigned(AddrA))) <= DIH; + end if; + if WEL = '1' then + RegsL(to_integer(unsigned(AddrA))) <= DIL; + end if; + end if; + end if; + end process; + + DOAH <= RegsH(to_integer(unsigned(AddrA))); + DOAL <= RegsL(to_integer(unsigned(AddrA))); + DOBH <= RegsH(to_integer(unsigned(AddrB))); + DOBL <= RegsL(to_integer(unsigned(AddrB))); + DOCH <= RegsH(to_integer(unsigned(AddrC))); + DOCL <= RegsL(to_integer(unsigned(AddrC))); + +end; diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80se.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80se.vhd new file mode 100644 index 00000000..5240e62b --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/T80/T80se.vhd @@ -0,0 +1,193 @@ +-- **** +-- T80(b) core. In an effort to merge and maintain bug fixes .... +-- +-- +-- Ver 300 started tidyup +-- +-- Latest version from www.fpgaarcade.com (original www.opencores.org) +-- +-- $Id: T80se.vhd 1330 2015-05-22 19:55:46Z wolfgang.scherr $ +-- +-- **** +-- +-- Z80 compatible microprocessor core, synchronous top level with clock enable +-- Different timing than the original z80 +-- Inputs needs to be synchronous and outputs may glitch +-- +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +-- MikeJ March 2005 +-- +-- All rights reserved +-- +-- Redistribution and use in source and synthezised forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- Redistributions in synthesized form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- Neither the name of the author nor the names of other contributors may +-- be used to endorse or promote products derived from this software without +-- specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE +-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- +-- Please report bugs to the author, but before you do so, please +-- make sure that this is not a derivative work and that +-- you have the latest version of this file. +-- +-- The latest version of this file can be found at: +-- http://www.opencores.org/cvsweb.shtml/t80/ +-- +-- Limitations : +-- +-- File history : +-- +-- 0235 : First release +-- +-- 0236 : Added T2Write generic +-- +-- 0237 : Fixed T2Write with wait state +-- +-- 0238 : Updated for T80 interface change +-- +-- 0240 : Updated for T80 interface change +-- +-- 0242 : Updated for T80 interface change +-- +library IEEE; +use IEEE.std_logic_1164.all; +use IEEE.numeric_std.all; +use work.T80_Pack.all; + +entity T80se is + generic( + Mode : integer := 0; -- 0 => Z80, 1 => Fast Z80, 2 => 8080, 3 => GB + T2Write : integer := 0; -- 0 => WR_n active in T3, /=0 => WR_n active in T2 + IOWait : integer := 1 -- 0 => Single cycle I/O, 1 => Std I/O cycle + ); + port( + RESET_n : in std_logic; + CLK_n : in std_logic; + CLKEN : in std_logic; + WAIT_n : in std_logic; + INT_n : in std_logic; + NMI_n : in std_logic; + BUSRQ_n : in std_logic; + M1_n : out std_logic; + MREQ_n : out std_logic; + IORQ_n : out std_logic; + RD_n : out std_logic; + WR_n : out std_logic; + RFSH_n : out std_logic; + HALT_n : out std_logic; + BUSAK_n : out std_logic; + A : out std_logic_vector(15 downto 0); + DI : in std_logic_vector(7 downto 0); + DO : out std_logic_vector(7 downto 0) + ); +end T80se; + +architecture rtl of T80se is + + signal IntCycle_n : std_logic; + signal NoRead : std_logic; + signal Write : std_logic; + signal IORQ : std_logic; + signal DI_Reg : std_logic_vector(7 downto 0); + signal MCycle : std_logic_vector(2 downto 0); + signal TState : std_logic_vector(2 downto 0); + +begin + + u0 : T80 + generic map( + Mode => Mode, + IOWait => IOWait) + port map( + CEN => CLKEN, + M1_n => M1_n, + IORQ => IORQ, + NoRead => NoRead, + Write => Write, + RFSH_n => RFSH_n, + HALT_n => HALT_n, + WAIT_n => Wait_n, + INT_n => INT_n, + NMI_n => NMI_n, + RESET_n => RESET_n, + BUSRQ_n => BUSRQ_n, + BUSAK_n => BUSAK_n, + CLK_n => CLK_n, + A => A, + DInst => DI, + DI => DI_Reg, + DO => DO, + MC => MCycle, + TS => TState, + IntCycle_n => IntCycle_n); + + process (RESET_n, CLK_n) + begin + if RESET_n = '0' then + RD_n <= '1'; + WR_n <= '1'; + IORQ_n <= '1'; + MREQ_n <= '1'; + DI_Reg <= "00000000"; + elsif CLK_n'event and CLK_n = '1' then + if CLKEN = '1' then + RD_n <= '1'; + WR_n <= '1'; + IORQ_n <= '1'; + MREQ_n <= '1'; + if MCycle = "001" then + if TState = "001" or (TState = "010" and Wait_n = '0') then + RD_n <= not IntCycle_n; + MREQ_n <= not IntCycle_n; + IORQ_n <= IntCycle_n; + end if; + if TState = "011" then + MREQ_n <= '0'; + end if; + else + if (TState = "001" or (TState = "010" and Wait_n = '0')) and NoRead = '0' and Write = '0' then + RD_n <= '0'; + IORQ_n <= not IORQ; + MREQ_n <= IORQ; + end if; + if T2Write = 0 then + if TState = "010" and Write = '1' then + WR_n <= '0'; + IORQ_n <= not IORQ; + MREQ_n <= IORQ; + end if; + else + if (TState = "001" or (TState = "010" and Wait_n = '0')) and Write = '1' then + WR_n <= '0'; + IORQ_n <= not IORQ; + MREQ_n <= IORQ; + end if; + end if; + end if; + if TState = "010" and Wait_n = '1' then + DI_Reg <= DI; + end if; + end if; + end if; + end process; + +end; diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/YM2149_linmix_sep.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/YM2149_linmix_sep.vhd new file mode 100644 index 00000000..6ed2498a --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/YM2149_linmix_sep.vhd @@ -0,0 +1,574 @@ +-- changes for seperate audio outputs and enable now enables cpu access as well +-- +-- A simulation model of YM2149 (AY-3-8910 with bells on) + +-- Copyright (c) MikeJ - Jan 2005 +-- +-- All rights reserved +-- +-- Redistribution and use in source and synthezised forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- Redistributions in synthesized form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- Neither the name of the author nor the names of other contributors may +-- be used to endorse or promote products derived from this software without +-- specific prior written permission. +-- +-- THIS CODE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE +-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- +-- You are responsible for any legal issues arising from your use of this code. +-- +-- The latest version of this file can be found at: www.fpgaarcade.com +-- +-- Email support@fpgaarcade.com +-- +-- Revision list +-- +-- version 001 initial release +-- +-- Clues from MAME sound driver and Kazuhiro TSUJIKAWA +-- +-- These are the measured outputs from a real chip for a single Isolated channel into a 1K load (V) +-- vol 15 .. 0 +-- 3.27 2.995 2.741 2.588 2.452 2.372 2.301 2.258 2.220 2.198 2.178 2.166 2.155 2.148 2.141 2.132 +-- As the envelope volume is 5 bit, I have fitted a curve to the not quite log shape in order +-- to produced all the required values. +-- (The first part of the curve is a bit steeper and the last bit is more linear than expected) +-- +-- NOTE, this component uses LINEAR mixing of the three analogue channels, and is only +-- accurate for designs where the outputs are buffered and not simply wired together. +-- The ouput level is more complex in that case and requires a larger table. + +library ieee; + use ieee.std_logic_1164.all; + use ieee.std_logic_arith.all; + use ieee.std_logic_unsigned.all; + +entity YM2149 is + port ( + -- data bus + I_DA : in std_logic_vector(7 downto 0); + O_DA : out std_logic_vector(7 downto 0); + O_DA_OE_L : out std_logic; + -- control + I_A9_L : in std_logic; + I_A8 : in std_logic; + I_BDIR : in std_logic; + I_BC2 : in std_logic; + I_BC1 : in std_logic; + I_SEL_L : in std_logic; + + O_AUDIO : out std_logic_vector(7 downto 0); + O_CHAN : out std_logic_vector(1 downto 0); + -- port a + I_IOA : in std_logic_vector(7 downto 0); + O_IOA : out std_logic_vector(7 downto 0); + O_IOA_OE_L : out std_logic; + -- port b + I_IOB : in std_logic_vector(7 downto 0); + O_IOB : out std_logic_vector(7 downto 0); + O_IOB_OE_L : out std_logic; + + ENA : in std_logic; -- clock enable for higher speed operation + RESET_L : in std_logic; + CLK : in std_logic -- note 6 Mhz + ); +end; + +architecture RTL of YM2149 is + type array_16x8 is array (0 to 15) of std_logic_vector( 7 downto 0); + type array_3x12 is array (1 to 3) of std_logic_vector(11 downto 0); + + signal cnt_div : std_logic_vector(3 downto 0) := (others => '0'); + signal cnt_div_t1 : std_logic_vector(3 downto 0); + signal noise_div : std_logic := '0'; + signal ena_div : std_logic; + signal ena_div_noise : std_logic; + signal poly17 : std_logic_vector(16 downto 0) := (others => '0'); + + -- registers + signal addr : std_logic_vector(7 downto 0); + signal busctrl_addr : std_logic; + signal busctrl_we : std_logic; + signal busctrl_re : std_logic; + + signal reg : array_16x8; + signal env_reset : std_logic; + signal ioa_inreg : std_logic_vector(7 downto 0); + signal iob_inreg : std_logic_vector(7 downto 0); + + signal noise_gen_cnt : std_logic_vector(4 downto 0); + signal noise_gen_op : std_logic; + signal tone_gen_cnt : array_3x12 := (others => (others => '0')); + signal tone_gen_op : std_logic_vector(3 downto 1) := "000"; + + signal env_gen_cnt : std_logic_vector(15 downto 0); + signal env_ena : std_logic; + signal env_hold : std_logic; + signal env_inc : std_logic; + signal env_vol : std_logic_vector(4 downto 0); + + signal tone_ena_l : std_logic; + signal tone_src : std_logic; + signal noise_ena_l : std_logic; + signal chan_vol : std_logic_vector(4 downto 0); + + signal dac_amp : std_logic_vector(7 downto 0); +begin + -- cpu i/f + p_busdecode : process(I_BDIR, I_BC2, I_BC1, addr, I_A9_L, I_A8) + variable cs : std_logic; + variable sel : std_logic_vector(2 downto 0); + begin + -- BDIR BC2 BC1 MODE + -- 0 0 0 inactive + -- 0 0 1 address + -- 0 1 0 inactive + -- 0 1 1 read + -- 1 0 0 address + -- 1 0 1 inactive + -- 1 1 0 write + -- 1 1 1 read + busctrl_addr <= '0'; + busctrl_we <= '0'; + busctrl_re <= '0'; + + cs := '0'; + if (I_A9_L = '0') and (I_A8 = '1') and (addr(7 downto 4) = "0000") then + cs := '1'; + end if; + + sel := (I_BDIR & I_BC2 & I_BC1); + case sel is + when "000" => null; + when "001" => busctrl_addr <= '1'; + when "010" => null; + when "011" => busctrl_re <= cs; + when "100" => busctrl_addr <= '1'; + when "101" => null; + when "110" => busctrl_we <= cs; + when "111" => busctrl_addr <= '1'; + when others => null; + end case; + end process; + + p_oe : process(busctrl_re) + begin + -- if we are emulating a real chip, maybe clock this to fake up the tristate typ delay of 100ns + O_DA_OE_L <= not (busctrl_re); + end process; + + -- + -- CLOCKED + -- + p_waddr : process(RESET_L, CLK) + begin + -- looks like registers are latches in real chip, but the address is caught at the end of the address state. + if (RESET_L = '0') then + addr <= (others => '0'); + elsif rising_edge(CLK) then + if (ENA = '1') then + if (busctrl_addr = '1') then + addr <= I_DA; + end if; + end if; + end if; + end process; + + p_wdata : process(RESET_L, CLK) + begin + if (RESET_L = '0') then + reg <= (others => (others => '0')); + env_reset <= '1'; + elsif rising_edge(CLK) then + if (ENA = '1') then + env_reset <= '0'; + if (busctrl_we = '1') then + case addr(3 downto 0) is + when x"0" => reg(0) <= I_DA; + when x"1" => reg(1) <= I_DA; + when x"2" => reg(2) <= I_DA; + when x"3" => reg(3) <= I_DA; + when x"4" => reg(4) <= I_DA; + when x"5" => reg(5) <= I_DA; + when x"6" => reg(6) <= I_DA; + when x"7" => reg(7) <= I_DA; + when x"8" => reg(8) <= I_DA; + when x"9" => reg(9) <= I_DA; + when x"A" => reg(10) <= I_DA; + when x"B" => reg(11) <= I_DA; + when x"C" => reg(12) <= I_DA; + when x"D" => reg(13) <= I_DA; env_reset <= '1'; + when x"E" => reg(14) <= I_DA; + when x"F" => reg(15) <= I_DA; + when others => null; + end case; + end if; + end if; + end if; + end process; + + p_rdata : process(busctrl_re, addr, reg, ioa_inreg, iob_inreg) + begin + O_DA <= (others => '0'); -- 'X' + if (busctrl_re = '1') then -- not necessary, but useful for putting 'X's in the simulator + case addr(3 downto 0) is + when x"0" => O_DA <= reg(0) ; + when x"1" => O_DA <= "0000" & reg(1)(3 downto 0) ; + when x"2" => O_DA <= reg(2) ; + when x"3" => O_DA <= "0000" & reg(3)(3 downto 0) ; + when x"4" => O_DA <= reg(4) ; + when x"5" => O_DA <= "0000" & reg(5)(3 downto 0) ; + when x"6" => O_DA <= "000" & reg(6)(4 downto 0) ; + when x"7" => O_DA <= reg(7) ; + when x"8" => O_DA <= "000" & reg(8)(4 downto 0) ; + when x"9" => O_DA <= "000" & reg(9)(4 downto 0) ; + when x"A" => O_DA <= "000" & reg(10)(4 downto 0) ; + when x"B" => O_DA <= reg(11); + when x"C" => O_DA <= reg(12); + when x"D" => O_DA <= "0000" & reg(13)(3 downto 0); + when x"E" => if (reg(7)(6) = '0') then -- input + O_DA <= ioa_inreg; + else + O_DA <= reg(14); -- read output reg + end if; + when x"F" => if (Reg(7)(7) = '0') then + O_DA <= iob_inreg; + else + O_DA <= reg(15); + end if; + when others => null; + end case; + end if; + end process; + -- + p_divider : process + begin + wait until rising_edge(CLK); + -- / 8 when SEL is high and /16 when SEL is low + if (ENA = '1') then + ena_div <= '0'; + ena_div_noise <= '0'; + if (cnt_div = "0000") then + cnt_div <= (not I_SEL_L) & "111"; + ena_div <= '1'; + + noise_div <= not noise_div; + if (noise_div = '1') then + ena_div_noise <= '1'; + end if; + else + cnt_div <= cnt_div - "1"; + end if; + end if; + end process; + + p_noise_gen : process + variable noise_gen_comp : std_logic_vector(4 downto 0); + variable poly17_zero : std_logic; + begin + wait until rising_edge(CLK); + if (reg(6)(4 downto 0) = "00000") then + noise_gen_comp := "00000"; + else + noise_gen_comp := (reg(6)(4 downto 0) - "1"); + end if; + + poly17_zero := '0'; + if (poly17 = "00000000000000000") then poly17_zero := '1'; end if; + + if (ENA = '1') then + if (ena_div_noise = '1') then -- divider ena + + if (noise_gen_cnt >= noise_gen_comp) then + noise_gen_cnt <= "00000"; + poly17 <= (poly17(0) xor poly17(2) xor poly17_zero) & poly17(16 downto 1); + else + noise_gen_cnt <= (noise_gen_cnt + "1"); + end if; + end if; + end if; + end process; + noise_gen_op <= poly17(0); + + p_tone_gens : process + variable tone_gen_freq : array_3x12; + variable tone_gen_comp : array_3x12; + begin + wait until rising_edge(CLK); + -- looks like real chips count up - we need to get the Exact behaviour .. + tone_gen_freq(1) := reg(1)(3 downto 0) & reg(0); + tone_gen_freq(2) := reg(3)(3 downto 0) & reg(2); + tone_gen_freq(3) := reg(5)(3 downto 0) & reg(4); + -- period 0 = period 1 + for i in 1 to 3 loop + if (tone_gen_freq(i) = x"000") then + tone_gen_comp(i) := x"000"; + else + tone_gen_comp(i) := (tone_gen_freq(i) - "1"); + end if; + end loop; + + if (ENA = '1') then + for i in 1 to 3 loop + if (ena_div = '1') then -- divider ena + + if (tone_gen_cnt(i) >= tone_gen_comp(i)) then + tone_gen_cnt(i) <= x"000"; + tone_gen_op(i) <= not tone_gen_op(i); + else + tone_gen_cnt(i) <= (tone_gen_cnt(i) + "1"); + end if; + end if; + end loop; + end if; + end process; + + p_envelope_freq : process + variable env_gen_freq : std_logic_vector(15 downto 0); + variable env_gen_comp : std_logic_vector(15 downto 0); + begin + wait until rising_edge(CLK); + env_gen_freq := reg(12) & reg(11); + -- envelope freqs 1 and 0 are the same. + if (env_gen_freq = x"0000") then + env_gen_comp := x"0000"; + else + env_gen_comp := (env_gen_freq - "1"); + end if; + + if (ENA = '1') then + env_ena <= '0'; + if (ena_div = '1') then -- divider ena + if (env_gen_cnt >= env_gen_comp) then + env_gen_cnt <= x"0000"; + env_ena <= '1'; + else + env_gen_cnt <= (env_gen_cnt + "1"); + end if; + end if; + end if; + end process; + + p_envelope_shape : process(env_reset, reg, CLK) + variable is_bot : boolean; + variable is_bot_p1 : boolean; + variable is_top_m1 : boolean; + variable is_top : boolean; + begin + -- envelope shapes + -- C AtAlH + -- 0 0 x x \___ + -- + -- 0 1 x x /___ + -- + -- 1 0 0 0 \\\\ + -- + -- 1 0 0 1 \___ + -- + -- 1 0 1 0 \/\/ + -- ___ + -- 1 0 1 1 \ + -- + -- 1 1 0 0 //// + -- ___ + -- 1 1 0 1 / + -- + -- 1 1 1 0 /\/\ + -- + -- 1 1 1 1 /___ + if (env_reset = '1') then + -- load initial state + if (reg(13)(2) = '0') then -- attack + env_vol <= "11111"; + env_inc <= '0'; -- -1 + else + env_vol <= "00000"; + env_inc <= '1'; -- +1 + end if; + env_hold <= '0'; + + elsif rising_edge(CLK) then + is_bot := (env_vol = "00000"); + is_bot_p1 := (env_vol = "00001"); + is_top_m1 := (env_vol = "11110"); + is_top := (env_vol = "11111"); + + if (ENA = '1') then + if (env_ena = '1') then + if (env_hold = '0') then + if (env_inc = '1') then + env_vol <= (env_vol + "00001"); + else + env_vol <= (env_vol + "11111"); + end if; + end if; + + -- envelope shape control. + if (reg(13)(3) = '0') then + if (env_inc = '0') then -- down + if is_bot_p1 then env_hold <= '1'; end if; + else + if is_top then env_hold <= '1'; end if; + end if; + else + if (reg(13)(0) = '1') then -- hold = 1 + if (env_inc = '0') then -- down + if (reg(13)(1) = '1') then -- alt + if is_bot then env_hold <= '1'; end if; + else + if is_bot_p1 then env_hold <= '1'; end if; + end if; + else + if (reg(13)(1) = '1') then -- alt + if is_top then env_hold <= '1'; end if; + else + if is_top_m1 then env_hold <= '1'; end if; + end if; + end if; + + elsif (reg(13)(1) = '1') then -- alternate + if (env_inc = '0') then -- down + if is_bot_p1 then env_hold <= '1'; end if; + if is_bot then env_hold <= '0'; env_inc <= '1'; end if; + else + if is_top_m1 then env_hold <= '1'; end if; + if is_top then env_hold <= '0'; env_inc <= '0'; end if; + end if; + end if; + + end if; + end if; + end if; + end if; + end process; + + p_chan_mixer : process(cnt_div, reg, tone_gen_op) + begin + tone_ena_l <= '1'; tone_src <= '1'; + noise_ena_l <= '1'; chan_vol <= "00000"; + case cnt_div(1 downto 0) is + when "00" => + tone_ena_l <= reg(7)(0); tone_src <= tone_gen_op(1); chan_vol <= reg(8)(4 downto 0); + noise_ena_l <= reg(7)(3); + when "01" => + tone_ena_l <= reg(7)(1); tone_src <= tone_gen_op(2); chan_vol <= reg(9)(4 downto 0); + noise_ena_l <= reg(7)(4); + when "10" => + tone_ena_l <= reg(7)(2); tone_src <= tone_gen_op(3); chan_vol <= reg(10)(4 downto 0); + noise_ena_l <= reg(7)(5); + when "11" => null; -- tone gen outputs become valid on this clock + when others => null; + end case; + end process; + + p_op_mixer : process + variable chan_mixed : std_logic; + variable chan_amp : std_logic_vector(4 downto 0); + begin + wait until rising_edge(CLK); + if (ENA = '1') then + + chan_mixed := (tone_ena_l or tone_src) and (noise_ena_l or noise_gen_op); + + chan_amp := (others => '0'); + if (chan_mixed = '1') then + if (chan_vol(4) = '0') then + if (chan_vol(3 downto 0) = "0000") then -- nothing is easy ! make sure quiet is quiet + chan_amp := "00000"; + else + chan_amp := chan_vol(3 downto 0) & '1'; -- make sure level 31 (env) = level 15 (tone) + end if; + else + chan_amp := env_vol(4 downto 0); + end if; + end if; + + dac_amp <= x"00"; + case chan_amp is + when "11111" => dac_amp <= x"FF"; + when "11110" => dac_amp <= x"D9"; + when "11101" => dac_amp <= x"BA"; + when "11100" => dac_amp <= x"9F"; + when "11011" => dac_amp <= x"88"; + when "11010" => dac_amp <= x"74"; + when "11001" => dac_amp <= x"63"; + when "11000" => dac_amp <= x"54"; + when "10111" => dac_amp <= x"48"; + when "10110" => dac_amp <= x"3D"; + when "10101" => dac_amp <= x"34"; + when "10100" => dac_amp <= x"2C"; + when "10011" => dac_amp <= x"25"; + when "10010" => dac_amp <= x"1F"; + when "10001" => dac_amp <= x"1A"; + when "10000" => dac_amp <= x"16"; + when "01111" => dac_amp <= x"13"; + when "01110" => dac_amp <= x"10"; + when "01101" => dac_amp <= x"0D"; + when "01100" => dac_amp <= x"0B"; + when "01011" => dac_amp <= x"09"; + when "01010" => dac_amp <= x"08"; + when "01001" => dac_amp <= x"07"; + when "01000" => dac_amp <= x"06"; + when "00111" => dac_amp <= x"05"; + when "00110" => dac_amp <= x"04"; + when "00101" => dac_amp <= x"03"; + when "00100" => dac_amp <= x"03"; + when "00011" => dac_amp <= x"02"; + when "00010" => dac_amp <= x"02"; + when "00001" => dac_amp <= x"01"; + when "00000" => dac_amp <= x"00"; + when others => null; + end case; + + cnt_div_t1 <= cnt_div; + end if; + end process; + + p_audio_output : process(RESET_L, CLK) + begin + if (RESET_L = '0') then + O_AUDIO <= (others => '0'); + O_CHAN <= (others => '0'); + elsif rising_edge(CLK) then + + if (ENA = '1') then + O_AUDIO <= dac_amp(7 downto 0); + O_CHAN <= cnt_div_t1(1 downto 0); + end if; + end if; + end process; + + p_io_ports : process(reg) + begin + O_IOA <= reg(14); + O_IOA_OE_L <= not reg(7)(6); + O_IOB <= reg(15); + O_IOB_OE_L <= not reg(7)(7); + end process; + + p_io_ports_inreg : process + begin + wait until rising_edge(CLK); + if (ENA = '1') then -- resync + ioa_inreg <= I_IOA; + iob_inreg <= I_IOB; + end if; + end process; +end architecture RTL; diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/build_id.tcl b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/build_id.tcl new file mode 100644 index 00000000..938515d8 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/build_id.tcl @@ -0,0 +1,35 @@ +# ================================================================================ +# +# Build ID Verilog Module Script +# Jeff Wiencrot - 8/1/2011 +# +# Generates a Verilog module that contains a timestamp, +# from the current build. These values are available from the build_date, build_time, +# physical_address, and host_name output ports of the build_id module in the build_id.v +# Verilog source file. +# +# ================================================================================ + +proc generateBuildID_Verilog {} { + + # Get the timestamp (see: http://www.altera.com/support/examples/tcl/tcl-date-time-stamp.html) + set buildDate [ clock format [ clock seconds ] -format %y%m%d ] + set buildTime [ clock format [ clock seconds ] -format %H%M%S ] + + # Create a Verilog file for output + set outputFileName "rtl/build_id.v" + set outputFile [open $outputFileName "w"] + + # Output the Verilog source + puts $outputFile "`define BUILD_DATE \"$buildDate\"" + puts $outputFile "`define BUILD_TIME \"$buildTime\"" + close $outputFile + + # Send confirmation message to the Messages window + post_message "Generated build identification Verilog module: [pwd]/$outputFileName" + post_message "Date: $buildDate" + post_message "Time: $buildTime" +} + +# Comment out this line to prevent the process from automatically executing when the file is sourced: +generateBuildID_Verilog \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/cmos_ram.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/cmos_ram.vhd new file mode 100644 index 00000000..c5e34893 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/cmos_ram.vhd @@ -0,0 +1,356 @@ +-- ----------------------------------------------------------------------- +-- +-- Syntiac's generic VHDL support files. +-- +-- ----------------------------------------------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +-- +-- Modified April 2016 by Dar (darfpga@aol.fr) +-- http://darfpga.blogspot.fr +-- Remove address register when writing +-- +-- ----------------------------------------------------------------------- +-- +-- gen_rwram.vhd +-- +-- ----------------------------------------------------------------------- +-- +-- generic ram. +-- +-- ----------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.numeric_std.ALL; + +-- ----------------------------------------------------------------------- + +entity cmos_ram is + generic ( + dWidth : integer := 8; + aWidth : integer := 10 + ); + port ( + clk : in std_logic; + we : in std_logic; + addr : in std_logic_vector((aWidth-1) downto 0); + d : in std_logic_vector((dWidth-1) downto 0); + q : out std_logic_vector((dWidth-1) downto 0) + ); +end entity; + +-- ----------------------------------------------------------------------- + +architecture rtl of cmos_ram is + subtype addressRange is integer range 0 to ((2**aWidth)-1); + type ramDef is array(addressRange) of std_logic_vector((dWidth-1) downto 0); + signal ram: ramDef:= ( + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --000-00F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --010-01F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --020-02F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --030-03F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --040-04F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --050-05F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --060-06F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --070-07F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --080-08F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --090-09F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0A0-0AF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0B0-0BF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0C0-0CF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0D0-0DF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0E0-0EF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0F0-0FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --100-10F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --1F0-1FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --200-20F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --2F0-2FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --300-30F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --3F0-3FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --400-40F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --4F0-4FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --500-50F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --5F0-5FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --600-60F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --6F0-6FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --700-70F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF" --7F0-7FF + +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --800-80F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --8F0-8FF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --900-90F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --9F0-9FF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --A00-A0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --AF0-AFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --B00-B0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --BF0-BFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --C00-C0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --CF0-CFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --D00-D0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --DF0-DFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --E00-E0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --EF0-EFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --F00-F0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF" --FF0-FFF +); + + signal rAddrReg : std_logic_vector((aWidth-1) downto 0); + signal qReg : std_logic_vector((dWidth-1) downto 0); +begin +-- ----------------------------------------------------------------------- +-- Signals to entity interface +-- ----------------------------------------------------------------------- +-- q <= qReg; + +-- ----------------------------------------------------------------------- +-- Memory write +-- ----------------------------------------------------------------------- + process(clk) + begin + if rising_edge(clk) then + if we = '1' then + ram(to_integer(unsigned(addr))) <= d; + end if; + end if; + end process; + +-- ----------------------------------------------------------------------- +-- Memory read +-- ----------------------------------------------------------------------- +process(clk) + begin + if rising_edge(clk) then +-- qReg <= ram(to_integer(unsigned(rAddrReg))); +-- rAddrReg <= addr; +---- qReg <= ram(to_integer(unsigned(addr))); + q <= ram(to_integer(unsigned(addr))); + end if; + end process; +--q <= ram(to_integer(unsigned(addr))); +end architecture; + diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/ctc_controler.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/ctc_controler.vhd new file mode 100644 index 00000000..1ff9961d --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/ctc_controler.vhd @@ -0,0 +1,106 @@ +--------------------------------------------------------------------------------- +-- 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; diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/ctc_counter.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/ctc_counter.vhd new file mode 100644 index 00000000..25f9a797 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/ctc_counter.vhd @@ -0,0 +1,152 @@ +--------------------------------------------------------------------------------- +-- 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; diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/gen_ram.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/gen_ram.vhd new file mode 100644 index 00000000..f1a95608 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/gen_ram.vhd @@ -0,0 +1,84 @@ +-- ----------------------------------------------------------------------- +-- +-- Syntiac's generic VHDL support files. +-- +-- ----------------------------------------------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +-- +-- Modified April 2016 by Dar (darfpga@aol.fr) +-- http://darfpga.blogspot.fr +-- Remove address register when writing +-- +-- ----------------------------------------------------------------------- +-- +-- gen_rwram.vhd +-- +-- ----------------------------------------------------------------------- +-- +-- generic ram. +-- +-- ----------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.numeric_std.ALL; + +-- ----------------------------------------------------------------------- + +entity gen_ram is + generic ( + dWidth : integer := 8; + aWidth : integer := 10 + ); + port ( + clk : in std_logic; + we : in std_logic; + addr : in std_logic_vector((aWidth-1) downto 0); + d : in std_logic_vector((dWidth-1) downto 0); + q : out std_logic_vector((dWidth-1) downto 0) + ); +end entity; + +-- ----------------------------------------------------------------------- + +architecture rtl of gen_ram is + subtype addressRange is integer range 0 to ((2**aWidth)-1); + type ramDef is array(addressRange) of std_logic_vector((dWidth-1) downto 0); + signal ram: ramDef; + + signal rAddrReg : std_logic_vector((aWidth-1) downto 0); + signal qReg : std_logic_vector((dWidth-1) downto 0); +begin +-- ----------------------------------------------------------------------- +-- Signals to entity interface +-- ----------------------------------------------------------------------- +-- q <= qReg; + +-- ----------------------------------------------------------------------- +-- Memory write +-- ----------------------------------------------------------------------- + process(clk) + begin + if rising_edge(clk) then + if we = '1' then + ram(to_integer(unsigned(addr))) <= d; + end if; + end if; + end process; + +-- ----------------------------------------------------------------------- +-- Memory read +-- ----------------------------------------------------------------------- +process(clk) + begin + if rising_edge(clk) then +-- qReg <= ram(to_integer(unsigned(rAddrReg))); +-- rAddrReg <= addr; +---- qReg <= ram(to_integer(unsigned(addr))); + q <= ram(to_integer(unsigned(addr))); + end if; + end process; +--q <= ram(to_integer(unsigned(addr))); +end architecture; + diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/journey.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/journey.vhd new file mode 100644 index 00000000..67dcc931 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/journey.vhd @@ -0,0 +1,868 @@ +--------------------------------------------------------------------------------- +-- Journey by Dar (darfpga@aol.fr) (09/11/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +-- +-- release 01 : improve ssio read input (fix mirror addressing) +-- improve memory access (fix mirror addressing) +-- +-- release 00 : initial release +-- +--------------------------------------------------------------------------------- +-- gen_ram.vhd & io_ps2_keyboard +-------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +--------------------------------------------------------------------------------- +-- T80/T80se - Version : 304 +----------------------------- +-- Z80 compatible microprocessor core +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +--------------------------------------------------------------------------------- +-- YM2149 (AY-3-8910) +-- Copyright (c) MikeJ - Jan 2005 +--------------------------------------------------------------------------------- +-- Educational use only +-- Do not redistribute synthetized file with roms +-- Do not redistribute roms whatever the form +-- Use at your own risk +--------------------------------------------------------------------------------- + +-- Features : +-- Video : 31Khz/60Hz +-- Coctail mode : NO +-- Sound : OK + +-- Use with MAME roms from tron.zip +-- +-- Use make_tron_hollow_proms.bat to build vhd file from binaries +-- (CRC list included) + +-- Tron (midway mcr) Hardware caracteristics : +-- +-- VIDEO : 1xZ80@3MHz CPU accessing its program rom, working ram, +-- sprite data ram, I/O, sound board register and trigger. +-- 48Kx8bits program rom +-- +-- One char/background tile map 30x32 +-- 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 +-- 4x8Kx8bits graphics rom 4bits/pixel +-- rbg programmable ram palette 64 colors 9bits : 3red 3green 3blue +-- +-- Working ram : 2Kx8bits +-- video (char/background) ram : 2Kx8bits +-- Sprites ram : 512x8bits + 512x8bits cache buffer + +-- Sprites line buffer rams : 1 scan line delay flip/flop 2x256x8bits +-- +-- SOUND : see tron_hollow_sound_board.vhd + +--------------------------------------------------------------------------------- +-- Schematics remarks : +-- +-- 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) +-- +-- Original video is interlaced 240 display lines per 1/2 frame +-- +-- H0 and V0 are not use for background => each bg tile is 16x16 pixel but +-- background graphics is 2x2 pixels defintion. +-- +-- Sprite are 32x32 pixels with 1x1 pixel definition, 16 lines for odd 1/2 +-- frame and 16 lines for even 2/2 frame thanks to V8 on sprite rom ROMAD2 +-- (look at 74ls86 G1 pin 9 on video genration board schematics) +-- +-- *H and V stand for Horizontal en Vertical counter (Hcnt, Vcnt in VHDL code) +-- +-- /!\ 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 +-- buffer is access by transfer address counter during 2 scanlines after +-- visible area and only by sprite machine during visible area. +-- +-- Thus cpu can read and update sprites position during entire frame except +-- during 2 lines. +-- +-- Sprite data are organised (as seen by cpu F000-F1FF) into 128 * 4bytes. +-- bytes #1 : Vertical position +-- bytes #2 : code and attribute +-- bytes #3 : Horizontal position +-- bytes #4 : not used +-- +-- 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 +-- by hardware signal line 493. channel 0 to 2 are in timer mode. Schematic +-- show zc/to of channel 0 connected to clk/trg of channel 1. This seems to be +-- unsued for that (Kick) game. +-- +-- 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. +-- +-- 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. +-- +--------------------------------------------------------------------------------- + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity journey is +port( + clock_40 : in std_logic; + reset : in std_logic; + --tv15Khz_mode : in std_logic; + video_r : out std_logic_vector(2 downto 0); + video_g : out std_logic_vector(2 downto 0); + video_b : out std_logic_vector(2 downto 0); + video_clk : out std_logic; + --video_csync : out std_logic; + video_blankn : out std_logic; + video_hs : out std_logic; + video_vs : out std_logic; + + 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; + + left1 : in std_logic; + right1 : in std_logic; + up1 : in std_logic; + down1 : in std_logic; + fire1 : in std_logic; + + left2 : in std_logic; + right2 : in std_logic; + up2 : in std_logic; + down2 : in std_logic; + fire2 : in std_logic; + + cocktail : in std_logic; + coin_meters : in std_logic; + + service : in std_logic; + cpu_rom_addr : out std_logic_vector(15 downto 0); + cpu_rom_do : in std_logic_vector(7 downto 0); + snd_rom_addr : out std_logic_vector(13 downto 0); + snd_rom_do : in std_logic_vector(7 downto 0); + sp_addr : out std_logic_vector(14 downto 0); + sp_graphx32_do : in std_logic_vector(31 downto 0) + ); +end journey; + +architecture struct of journey is + + signal reset_n : std_logic; + signal clock_vid : std_logic; + signal clock_vidn: std_logic; + signal clock_cnt : std_logic_vector(3 downto 0) := "0000"; + + signal hcnt : std_logic_vector(9 downto 0) := (others=>'0'); -- horizontal counter + signal hflip : std_logic_vector(9 downto 0) := (others=>'0'); -- horizontal counter flip + signal vcnt : std_logic_vector(9 downto 0) := (others=>'0'); -- vertical counter + signal vflip : std_logic_vector(9 downto 0) := (others=>'0'); -- vertical counter flip + + signal frame : std_logic_vector(9 downto 0) := (others=>'0'); -- frame counter dbg + + signal pix_ena : std_logic; + signal pix_ena_r : std_logic; + signal cpu_ena : std_logic; + + signal cpu_addr : std_logic_vector(15 downto 0); + signal cpu_di : std_logic_vector( 7 downto 0); + signal cpu_do : std_logic_vector( 7 downto 0); + signal cpu_wr_n : std_logic; + signal cpu_rd_n : std_logic; + signal cpu_mreq_n : std_logic; + signal cpu_ioreq_n : std_logic; + signal cpu_irq_n : std_logic; + signal cpu_m1_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_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_3_trg : std_logic; + signal ctc_counter_3_do : std_logic_vector(7 downto 0); + signal ctc_counter_3_int : std_logic; + + signal wram_we : std_logic; + signal wram_do : std_logic_vector( 7 downto 0); + + signal bg_ram_addr: std_logic_vector(10 downto 0); + signal bg_ram_we : std_logic; + signal bg_ram_cpu_access : std_logic; + signal bg_ram_do : std_logic_vector(7 downto 0); + signal bg_ram_do_r: std_logic_vector(7 downto 0); -- registred data for cpu + + signal bg_code : std_logic_vector(7 downto 0); + signal bg_code_r : std_logic_vector(7 downto 0); + signal bg_attr : std_logic_vector(7 downto 0); + + signal bg_code_line : std_logic_vector(12 downto 0); + signal bg_graphx1_do : std_logic_vector( 7 downto 0); + signal bg_graphx2_do : std_logic_vector( 7 downto 0); + signal bg_palette_addr : std_logic_vector( 5 downto 0); + + signal sp_ram_cache_addr : std_logic_vector(8 downto 0); + signal sp_ram_cache_we : std_logic; + signal sp_ram_cache_cpu_access : std_logic; + signal sp_ram_cache_do : std_logic_vector(7 downto 0); + + signal move_buf : std_logic; + signal sp_ram_addr : std_logic_vector(8 downto 0); + signal sp_ram_we : std_logic; + signal sp_ram_do : std_logic_vector(7 downto 0); + + signal sp_cnt : std_logic_vector(6 downto 0); + signal sp_code : std_logic_vector( 7 downto 0); + signal sp_attr : std_logic_vector( 7 downto 0); + signal sp_input_phase : std_logic_vector( 5 downto 0); + + signal sp_done : std_logic; + signal sp_vcnt : std_logic_vector( 9 downto 0); + signal sp_line : std_logic_vector( 4 downto 0); + signal sp_hcnt : std_logic_vector( 8 downto 0); -- lsb used to mux rd/wr line buffer + signal sp_on_line : std_logic; + signal sp_on_line_r : std_logic; + signal sp_byte_cnt : std_logic_vector( 1 downto 0); + signal sp_code_line : std_logic_vector(14 downto 0); + signal sp_hflip : std_logic_vector( 1 downto 0); + signal sp_vflip : std_logic_vector( 4 downto 0); + + signal sp_graphx_do : std_logic_vector( 7 downto 0); + signal sp_graphx32_do_r: std_logic_vector(31 downto 0); + signal sp_graphx_mux : std_logic_vector( 7 downto 0); + signal sp_mux_roms : std_logic_vector( 1 downto 0); + signal sp_graphx_a : std_logic_vector( 3 downto 0); + signal sp_graphx_b : std_logic_vector( 3 downto 0); + signal sp_graphx_a_ok : std_logic; + signal sp_graphx_b_ok : std_logic; + + signal sp_buffer_ram1_addr : std_logic_vector(7 downto 0); + signal sp_buffer_ram1a_we : std_logic; + signal sp_buffer_ram1b_we : std_logic; + signal sp_buffer_ram1a_di : std_logic_vector( 7 downto 0); + signal sp_buffer_ram1b_di : std_logic_vector( 7 downto 0); + signal sp_buffer_ram1a_do : std_logic_vector( 7 downto 0); + signal sp_buffer_ram1b_do : std_logic_vector( 7 downto 0); + signal sp_buffer_ram1_do_r : std_logic_vector(15 downto 0); + + signal sp_buffer_ram2_addr : std_logic_vector(7 downto 0); + signal sp_buffer_ram2a_we : std_logic; + signal sp_buffer_ram2b_we : std_logic; + signal sp_buffer_ram2a_di : std_logic_vector( 7 downto 0); + signal sp_buffer_ram2b_di : std_logic_vector( 7 downto 0); + signal sp_buffer_ram2a_do : std_logic_vector( 7 downto 0); + signal sp_buffer_ram2b_do : std_logic_vector( 7 downto 0); + signal sp_buffer_ram2_do_r : std_logic_vector(15 downto 0); + + + signal sp_vid_a : std_logic_vector(3 downto 0); + signal sp_col : std_logic_vector(3 downto 0); + signal sp_vid : std_logic_vector(3 downto 0); + + signal palette_addr : std_logic_vector(5 downto 0); + signal palette_we : std_logic; + signal palette_do : std_logic_vector(8 downto 0); + + 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 input_4 : std_logic_vector(7 downto 0); + +begin + +clock_vid <= clock_40; +clock_vidn <= not clock_40; +reset_n <= not reset; + +-- make enables clock from clock_vid +process (clock_vid, reset) +begin + if reset='1' then + clock_cnt <= (others=>'0'); + else + if rising_edge(clock_vid) then + if clock_cnt = "1111" then -- divide by 16 + clock_cnt <= (others=>'0'); + else + clock_cnt <= clock_cnt + 1; + end if; + end if; + end if; +end process; +-- +cpu_ena <= '1' when clock_cnt = "1111" else '0'; -- (2.5MHz) +pix_ena <= clock_cnt(0); -- (20MHz) + +----------------------------------- +-- Video scanner 635x525 @20Mhz -- +-- display 512x480 -- +----------------------------------- +process (reset, clock_vid) +begin + if reset='1' then + hcnt <= (others=>'0'); + vcnt <= (others=>'0'); + frame <= (others=>'0'); + else + if rising_edge(clock_vid) then + if pix_ena = '1' then + + hcnt <= hcnt + 1; + if hcnt = 634 then + hcnt <= (others=>'0'); + vcnt <= vcnt + 1; + if vcnt = 524 then + vcnt <= (others=>'0'); + frame <= frame + 1; + end if; + end if; + + 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+30 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; + end if; + end if; + end if; +end process; + +-------------------- +-- players inputs -- +-------------------- +-- "11" for test & tilt & unused +input_0 <= not service & "11" & not fire1 & not start2 & not start1 & not coin2 & not coin1; +input_1 <= "1111" & not down1 & not up1 & not right1 & not left1; +input_2 <= "111" & not fire2 & not down2 & not up2 & not right2 & not left2; +input_3 <= "111111" & cocktail & coin_meters; +input_4 <= x"FF"; + +------------------------------------------ +-- cpu data input with address decoding -- +------------------------------------------ +cpu_di <= cpu_rom_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12) < X"A" else -- 0000-9FFF + wram_do when cpu_mreq_n = '0' and (cpu_addr and X"E000") = x"C000" else -- C000-C7FF + mirroring 1800 + sp_ram_cache_do 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"; + +------------------------------------------------------------------------ +-- Misc registers : ctc write enable / interrupt acknowledge +------------------------------------------------------------------------ +ctc_counter_3_trg <= '1' when vcnt = 493 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'; + +------------------------------------------ +-- write enable / ram access from CPU -- +------------------------------------------ +wram_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"E000") = x"C000" else '0'; +sp_ram_cache_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"E800") = x"E000" else '0'; +sp_ram_cache_cpu_access <= '1' when cpu_mreq_n = '0' and (cpu_wr_n = '0' or cpu_rd_n = '0') and (cpu_addr and x"E800") = x"E000" else '0'; +bg_ram_cpu_access <= '1' when cpu_mreq_n = '0' and (cpu_wr_n = '0' or cpu_rd_n = '0') and (cpu_addr and x"E800") = x"E800" and hcnt(0) = '0' else '0'; +bg_ram_we <= '1' when bg_ram_cpu_access = '1' and cpu_wr_n = '0' else '0'; + +ssio_iowe <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' else '0'; + +---------------------------------- +--------- sprite machine --------- +---- 91464 Super Video Board ---- +---------------------------------- +--hflip <= not(hcnt); -- apply mirror horizontal flip +hflip <= hcnt; -- do not apply mirror horizontal flip + +--vflip <= 480-vcnt; -- apply mirror vertical flip +vflip <= vcnt; -- do not apply mirror vertical flip + +process (clock_vid) +begin + if rising_edge(clock_vid) then + + + if hcnt = 0 then + sp_cnt <= (others => '0'); + sp_input_phase <= (others => '0'); + sp_on_line <= '0'; + sp_done <= '0'; +-- max_sprite <= (others => '0'); +-- if max_sprite > max_sprite_r then +-- max_sprite_r <= max_sprite; +-- end if; + end if; + + if sp_done = '0' then + sp_input_phase <= sp_input_phase + 1 ; + sp_hcnt <= sp_hcnt + 1; + case sp_input_phase is + when "000000" => + if sp_vcnt(8 downto 5) = x"F" and sp_ram_do > x"10" then + sp_line <= sp_vcnt(4 downto 0); + else + sp_input_phase <= (others => '0'); + sp_cnt <= sp_cnt + 1; + if sp_cnt = "1111111" then sp_done <= '1'; end if; + end if; + sp_byte_cnt <= (others => '0'); + when "000001" => + sp_attr <= sp_ram_do; +-- max_sprite <= max_sprite + 1; + when "000010" => + sp_code <= sp_ram_do; + sp_addr <= sp_ram_do(7 downto 0) & (sp_line xor sp_vflip) & (sp_byte_cnt xor sp_hflip); -- graphics rom addr + when "000011" => + sp_hcnt <= sp_ram_do & '0'; + sp_on_line <= '1'; + when "001010"|"010010"|"011010" => + sp_byte_cnt <= sp_byte_cnt + 1; + sp_graphx32_do_r <= sp_graphx32_do; -- latch incoming sprite data + sp_addr <= sp_code(7 downto 0) & (sp_line xor sp_vflip) & (sp_byte_cnt+1 xor sp_hflip); -- advance graphics rom addr + when "100010" => + sp_on_line <= '0'; + sp_input_phase <= (others => '0'); + sp_cnt <= sp_cnt + 1; + if sp_cnt = "1111111" then sp_done <= '1'; end if; + when others => + null; + end case; + sp_mux_roms <= sp_input_phase(2 downto 1); + end if; + + if pix_ena = '1' then + if hcnt(0) = '0' then + sp_buffer_ram1_do_r <= sp_buffer_ram1b_do & sp_buffer_ram1a_do; + sp_buffer_ram2_do_r <= sp_buffer_ram2b_do & sp_buffer_ram2a_do; + end if; + end if; + + end if; +end process; + +-- sp_ram_cache can be read/write by cpu when hcnt(0) = 0; +-- sp_ram_cache can be read by sprite machine when hcnt(0) = 1; + +sp_ram_cache_addr <= cpu_addr(8 downto 0) when hcnt(0) = '0' else sp_ram_addr; + +move_buf <= '1' when vcnt(8 downto 1) = 250 else '0'; -- line 500-501 +sp_ram_addr <= vcnt(0) & hcnt(8 downto 1) when move_buf = '1' else sp_cnt & sp_input_phase(1 downto 0); +sp_ram_we <= hcnt(0) when move_buf = '1' else '0'; + +sp_vcnt <= vflip + (sp_ram_do & '0') -1 ; -- valid when sp_input_phase = 0 + +sp_hflip <= (others => sp_attr(4)); +sp_vflip <= (others => sp_attr(5)); + +sp_code_line <= sp_code(7 downto 0) & (sp_line xor sp_vflip) & (sp_byte_cnt xor sp_hflip); -- sprite graphics roms addr + +sp_graphx_do <= sp_graphx32_do_r( 7 downto 0) when (sp_hflip(0) = '0' and sp_mux_roms = "01") or (sp_hflip(0) = '1' and sp_mux_roms = "00") else + sp_graphx32_do_r(15 downto 8) when (sp_hflip(0) = '0' and sp_mux_roms = "10") or (sp_hflip(0) = '1' and sp_mux_roms = "11") else + sp_graphx32_do_r(23 downto 16) when (sp_hflip(0) = '0' and sp_mux_roms = "11") or (sp_hflip(0) = '1' and sp_mux_roms = "10") else + sp_graphx32_do_r(31 downto 24);-- when (sp_hflip(0) = '0' and sp_mux_roms = "00") or (sp_hflip(0) = '1' and sp_mux_roms = "01") ; + +sp_graphx_a <= sp_graphx_mux(7 downto 4) when sp_hflip(0) = '1' else sp_graphx_mux(3 downto 0); +sp_graphx_b <= sp_graphx_mux(3 downto 0) when sp_hflip(0) = '1' else sp_graphx_mux(7 downto 4); + +sp_graphx_a_ok <= '1' when sp_graphx_a /= x"0" else '0'; +sp_graphx_b_ok <= '1' when sp_graphx_b /= x"0" else '0'; + +sp_buffer_ram1a_di <= sp_attr(3 downto 0) & sp_graphx_a when vflip(0) = '1' else x"00"; +sp_buffer_ram1b_di <= sp_attr(3 downto 0) & sp_graphx_b when vflip(0) = '1' else x"00"; +sp_buffer_ram1_addr <= sp_hcnt(8 downto 1) when vflip(0) = '1' else hflip(8 downto 1) + x"0C"; +sp_buffer_ram1a_we <= not sp_hcnt(0) and sp_on_line and sp_graphx_a_ok when vflip(0) = '1' else hcnt(0); +sp_buffer_ram1b_we <= not sp_hcnt(0) and sp_on_line and sp_graphx_b_ok when vflip(0) = '1' else hcnt(0); + +sp_buffer_ram2a_di <= sp_attr(3 downto 0) & sp_graphx_a when vflip(0) = '0' else x"00"; +sp_buffer_ram2b_di <= sp_attr(3 downto 0) & sp_graphx_b when vflip(0) = '0' else x"00"; +sp_buffer_ram2_addr <= sp_hcnt(8 downto 1) when vflip(0) = '0' else hflip(8 downto 1) + x"0C"; +sp_buffer_ram2a_we <= not sp_hcnt(0) and sp_on_line and sp_graphx_a_ok when vflip(0) = '0' else hcnt(0); +sp_buffer_ram2b_we <= not sp_hcnt(0) and sp_on_line and sp_graphx_b_ok when vflip(0) = '0' else hcnt(0); + +sp_vid <= sp_buffer_ram1_do_r(11 downto 8) when (vflip(0) = '0') and (hflip(0) = '1') else + sp_buffer_ram1_do_r( 3 downto 0) when (vflip(0) = '0') and (hflip(0) = '0') else + sp_buffer_ram2_do_r(11 downto 8) when (vflip(0) = '1') and (hflip(0) = '1') else + sp_buffer_ram2_do_r( 3 downto 0) when (vflip(0) = '1') and (hflip(0) = '0'); + +sp_col <= sp_buffer_ram1_do_r(15 downto 12) when (vflip(0) = '0') and (hflip(0) = '1') else + sp_buffer_ram1_do_r( 7 downto 4) when (vflip(0) = '0') and (hflip(0) = '0') else + sp_buffer_ram2_do_r(15 downto 12) when (vflip(0) = '1') and (hflip(0) = '1') else + sp_buffer_ram2_do_r( 7 downto 4) when (vflip(0) = '1') and (hflip(0) = '0'); + + +-------------------- +--- char machine --- +-------------------- +bg_ram_addr <= cpu_addr(10 downto 0) when bg_ram_cpu_access = '1' else vflip(8 downto 4) & hcnt(8 downto 4) & hcnt(1); + +bg_code_line <= bg_attr(0) & bg_code_r & (vflip(3 downto 1) xor (bg_attr(2) & bg_attr(2) & bg_attr(2) ) ) & (hcnt(3) xor bg_attr(1)); + +process (clock_vid) +begin + if rising_edge(clock_vid) then + + if hcnt(0) = '0' then bg_ram_do_r <= bg_ram_do; end if; + + if pix_ena = '1' then + + if hcnt(0) = '1' then + case hcnt(3 downto 1) is + when "110" => bg_code <= bg_ram_do; + when "111" => bg_attr <= bg_ram_do; + bg_code_r <= bg_code; + when others => null; + end case; + + case hcnt(2 downto 1) xor (bg_attr(1) & bg_attr(1)) is + when "00" => bg_palette_addr <= bg_attr(4 downto 3) & bg_graphx2_do(7 downto 6) & bg_graphx1_do(7 downto 6); + when "01" => bg_palette_addr <= bg_attr(4 downto 3) & bg_graphx2_do(5 downto 4) & bg_graphx1_do(5 downto 4); + when "10" => bg_palette_addr <= bg_attr(4 downto 3) & bg_graphx2_do(3 downto 2) & bg_graphx1_do(3 downto 2); + when others => bg_palette_addr <= bg_attr(4 downto 3) & bg_graphx2_do(1 downto 0) & bg_graphx1_do(1 downto 0); + end case; + end if; + + end if; + + end if; +end process; + +--------------------------- +-- mux char/sprite video -- +--------------------------- +palette_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and cpu_addr(15 downto 7) = X"FF"&'1' else '0'; -- 0xFF80-FFFF + +palette_addr <= cpu_addr(6 downto 1) when palette_we = '1' else bg_palette_addr when sp_vid(2 downto 0) = "000" else bg_attr(7 downto 6) & sp_vid; + +process (clock_vid) +begin + if rising_edge(clock_vid) then + video_g <= palette_do(2 downto 0); + video_b <= palette_do(5 downto 3); + video_r <= palette_do(8 downto 6); + end if; +end process; + +------------------------------ +-- components & sound board -- +------------------------------ + +-- microprocessor Z80 +cpu : entity work.T80se +generic map(Mode => 0, T2Write => 1, IOWait => 1) +port map( + RESET_n => reset_n, + CLK_n => clock_vid, + CLKEN => cpu_ena, + WAIT_n => '1', + INT_n => cpu_irq_n, + NMI_n => '1', --cpu_nmi_n, + BUSRQ_n => '1', + M1_n => cpu_m1_n, + MREQ_n => cpu_mreq_n, + IORQ_n => cpu_ioreq_n, + RD_n => cpu_rd_n, + WR_n => cpu_wr_n, + RFSH_n => open, + HALT_n => open, + BUSAK_n => open, + A => cpu_addr, + DI => cpu_di, + 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 + +); + +-- cpu program ROM 0x0000-0x9FFF +cpu_rom_addr <= cpu_addr(15 downto 0); + +-- working RAM 0xC000-0xC7FF + mirroring adresses +wram : entity work.cmos_ram +generic map( dWidth => 8, aWidth => 11) +port map( + clk => clock_vidn, + we => wram_we, + addr => cpu_addr(10 downto 0), + d => cpu_do, + q => wram_do +); + +-- video RAM 0xE800-0xEFFF + mirroring adresses +video_ram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 11) +port map( + clk => clock_vidn, + we => bg_ram_we, + addr => bg_ram_addr, + d => cpu_do, + q => bg_ram_do +); + +-- sprite RAM (no cpu access) +sprite_ram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 9) +port map( + clk => clock_vidn, + we => sp_ram_we, + addr => sp_ram_addr, + d => sp_ram_cache_do, + q => sp_ram_do +); + +-- sprite RAM 0xE000-0xE1FF + mirroring adresses +sprites_ram_cache : entity work.gen_ram +generic map( dWidth => 8, aWidth => 9) +port map( + clk => clock_vidn, + we => sp_ram_cache_we, + addr => sp_ram_cache_addr, + d => cpu_do, + q => sp_ram_cache_do +); + +-- sprite line buffer 1a +sprlinebuf1a : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram1a_we, + addr => sp_buffer_ram1_addr, + d => sp_buffer_ram1a_di, + q => sp_buffer_ram1a_do +); + +-- sprite line buffer 1b +sprlinebuf1b : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram1b_we, + addr => sp_buffer_ram1_addr, + d => sp_buffer_ram1b_di, + q => sp_buffer_ram1b_do +); + +-- sprite line buffer 2a +sprlinebuf2a : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram2a_we, + addr => sp_buffer_ram2_addr, + d => sp_buffer_ram2a_di, + q => sp_buffer_ram2a_do +); + +-- sprite line buffer 2b +sprlinebuf2b : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram2b_we, + addr => sp_buffer_ram2_addr, + d => sp_buffer_ram2b_di, + q => sp_buffer_ram2b_do +); + +-- background graphics ROM G3 +bg_graphics_1 : entity work.journey_bg_bits_1 +port map( + clk => clock_vidn, + addr => bg_code_line, + data => bg_graphx1_do +); + +-- background graphics ROM G4 +bg_graphics_2 : entity work.journey_bg_bits_2 +port map( + clk => clock_vidn, + addr => bg_code_line, + data => bg_graphx2_do +); + +--satans_hollow_sound_board +sound_board : entity work.satans_hollow_sound_board +port map( + clock_40 => clock_40, + reset => reset, + + main_cpu_addr => cpu_addr(7 downto 0), + + ssio_iowe => ssio_iowe, + ssio_di => cpu_do, + ssio_do => ssio_do, + + input_0 => input_0, + input_1 => input_1, + input_2 => input_2, + input_3 => input_3, + input_4 => input_4, + separate_audio => separate_audio, + audio_out_l => audio_out_l, + audio_out_r => audio_out_r, + cpu_rom_addr => snd_rom_addr, + cpu_rom_do => snd_rom_do +); + +-- background & sprite palette +palette : entity work.gen_ram +generic map( dWidth => 9, aWidth => 6) +port map( + clk => clock_vidn, + we => palette_we, + addr => palette_addr, + d => cpu_addr(0) & cpu_do, + q => palette_do +); + +end struct; \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/pll_mist.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/pll_mist.vhd new file mode 100644 index 00000000..15c5571c --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/pll_mist.vhd @@ -0,0 +1,397 @@ +-- megafunction wizard: %ALTPLL% +-- GENERATION: STANDARD +-- VERSION: WM1.0 +-- MODULE: altpll + +-- ============================================================ +-- File Name: pll_mist.vhd +-- Megafunction Name(s): +-- altpll +-- +-- Simulation Library Files(s): +-- altera_mf +-- ============================================================ +-- ************************************************************ +-- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +-- +-- 13.1.0 Build 162 10/23/2013 SJ Web Edition +-- ************************************************************ + + +--Copyright (C) 1991-2013 Altera Corporation +--Your use of Altera Corporation's design tools, logic functions +--and other software and tools, and its AMPP partner logic +--functions, and any output files from any of the foregoing +--(including device programming or simulation files), and any +--associated documentation or information are expressly subject +--to the terms and conditions of the Altera Program License +--Subscription Agreement, Altera MegaCore Function License +--Agreement, or other applicable license agreement, including, +--without limitation, that your use is for the sole purpose of +--programming logic devices manufactured by Altera and sold by +--Altera or its authorized distributors. Please refer to the +--applicable agreement for further details. + + +LIBRARY ieee; +USE ieee.std_logic_1164.all; + +LIBRARY altera_mf; +USE altera_mf.all; + +ENTITY pll_mist IS + PORT + ( + areset : IN STD_LOGIC := '0'; + inclk0 : IN STD_LOGIC := '0'; + c0 : OUT STD_LOGIC ; + c1 : OUT STD_LOGIC ; + locked : OUT STD_LOGIC + ); +END pll_mist; + + +ARCHITECTURE SYN OF pll_mist IS + + SIGNAL sub_wire0 : STD_LOGIC_VECTOR (4 DOWNTO 0); + SIGNAL sub_wire1 : STD_LOGIC ; + SIGNAL sub_wire2 : STD_LOGIC ; + SIGNAL sub_wire3 : STD_LOGIC ; + SIGNAL sub_wire4 : STD_LOGIC ; + SIGNAL sub_wire5 : STD_LOGIC_VECTOR (1 DOWNTO 0); + SIGNAL sub_wire6_bv : BIT_VECTOR (0 DOWNTO 0); + SIGNAL sub_wire6 : STD_LOGIC_VECTOR (0 DOWNTO 0); + + + + COMPONENT altpll + GENERIC ( + bandwidth_type : STRING; + clk0_divide_by : NATURAL; + clk0_duty_cycle : NATURAL; + clk0_multiply_by : NATURAL; + clk0_phase_shift : STRING; + clk1_divide_by : NATURAL; + clk1_duty_cycle : NATURAL; + clk1_multiply_by : NATURAL; + clk1_phase_shift : STRING; + compensate_clock : STRING; + inclk0_input_frequency : NATURAL; + intended_device_family : STRING; + lpm_hint : STRING; + lpm_type : STRING; + operation_mode : STRING; + pll_type : STRING; + port_activeclock : STRING; + port_areset : STRING; + port_clkbad0 : STRING; + port_clkbad1 : STRING; + port_clkloss : STRING; + port_clkswitch : STRING; + port_configupdate : STRING; + port_fbin : STRING; + port_inclk0 : STRING; + port_inclk1 : STRING; + port_locked : STRING; + port_pfdena : STRING; + port_phasecounterselect : STRING; + port_phasedone : STRING; + port_phasestep : STRING; + port_phaseupdown : STRING; + port_pllena : STRING; + port_scanaclr : STRING; + port_scanclk : STRING; + port_scanclkena : STRING; + port_scandata : STRING; + port_scandataout : STRING; + port_scandone : STRING; + port_scanread : STRING; + port_scanwrite : STRING; + port_clk0 : STRING; + port_clk1 : STRING; + port_clk2 : STRING; + port_clk3 : STRING; + port_clk4 : STRING; + port_clk5 : STRING; + port_clkena0 : STRING; + port_clkena1 : STRING; + port_clkena2 : STRING; + port_clkena3 : STRING; + port_clkena4 : STRING; + port_clkena5 : STRING; + port_extclk0 : STRING; + port_extclk1 : STRING; + port_extclk2 : STRING; + port_extclk3 : STRING; + self_reset_on_loss_lock : STRING; + width_clock : NATURAL + ); + PORT ( + areset : IN STD_LOGIC ; + clk : OUT STD_LOGIC_VECTOR (4 DOWNTO 0); + inclk : IN STD_LOGIC_VECTOR (1 DOWNTO 0); + locked : OUT STD_LOGIC + ); + END COMPONENT; + +BEGIN + sub_wire6_bv(0 DOWNTO 0) <= "0"; + sub_wire6 <= To_stdlogicvector(sub_wire6_bv); + sub_wire3 <= sub_wire0(0); + sub_wire1 <= sub_wire0(1); + c1 <= sub_wire1; + locked <= sub_wire2; + c0 <= sub_wire3; + sub_wire4 <= inclk0; + sub_wire5 <= sub_wire6(0 DOWNTO 0) & sub_wire4; + + altpll_component : altpll + GENERIC MAP ( + bandwidth_type => "AUTO", + clk0_divide_by => 27, + clk0_duty_cycle => 50, + clk0_multiply_by => 40, + clk0_phase_shift => "0", + clk1_divide_by => 27, + clk1_duty_cycle => 50, + clk1_multiply_by => 80, + clk1_phase_shift => "0", + compensate_clock => "CLK0", + inclk0_input_frequency => 37037, + intended_device_family => "Cyclone III", + lpm_hint => "CBX_MODULE_PREFIX=pll_mist", + lpm_type => "altpll", + operation_mode => "NORMAL", + pll_type => "AUTO", + port_activeclock => "PORT_UNUSED", + port_areset => "PORT_USED", + port_clkbad0 => "PORT_UNUSED", + port_clkbad1 => "PORT_UNUSED", + port_clkloss => "PORT_UNUSED", + port_clkswitch => "PORT_UNUSED", + port_configupdate => "PORT_UNUSED", + port_fbin => "PORT_UNUSED", + port_inclk0 => "PORT_USED", + port_inclk1 => "PORT_UNUSED", + port_locked => "PORT_USED", + port_pfdena => "PORT_UNUSED", + port_phasecounterselect => "PORT_UNUSED", + port_phasedone => "PORT_UNUSED", + port_phasestep => "PORT_UNUSED", + port_phaseupdown => "PORT_UNUSED", + port_pllena => "PORT_UNUSED", + port_scanaclr => "PORT_UNUSED", + port_scanclk => "PORT_UNUSED", + port_scanclkena => "PORT_UNUSED", + port_scandata => "PORT_UNUSED", + port_scandataout => "PORT_UNUSED", + port_scandone => "PORT_UNUSED", + port_scanread => "PORT_UNUSED", + port_scanwrite => "PORT_UNUSED", + port_clk0 => "PORT_USED", + port_clk1 => "PORT_USED", + port_clk2 => "PORT_UNUSED", + port_clk3 => "PORT_UNUSED", + port_clk4 => "PORT_UNUSED", + port_clk5 => "PORT_UNUSED", + port_clkena0 => "PORT_UNUSED", + port_clkena1 => "PORT_UNUSED", + port_clkena2 => "PORT_UNUSED", + port_clkena3 => "PORT_UNUSED", + port_clkena4 => "PORT_UNUSED", + port_clkena5 => "PORT_UNUSED", + port_extclk0 => "PORT_UNUSED", + port_extclk1 => "PORT_UNUSED", + port_extclk2 => "PORT_UNUSED", + port_extclk3 => "PORT_UNUSED", + self_reset_on_loss_lock => "OFF", + width_clock => 5 + ) + PORT MAP ( + areset => areset, + inclk => sub_wire5, + clk => sub_wire0, + locked => sub_wire2 + ); + + + +END SYN; + +-- ============================================================ +-- CNX file retrieval info +-- ============================================================ +-- Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0" +-- Retrieval info: PRIVATE: BANDWIDTH STRING "1.000" +-- Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "1" +-- Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz" +-- Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low" +-- Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1" +-- Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0" +-- Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0" +-- Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0" +-- Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "0" +-- Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0" +-- Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0" +-- Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0" +-- Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0" +-- Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "c0" +-- Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "8" +-- Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "27" +-- Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "27" +-- Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000" +-- Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000" +-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "40.000000" +-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "80.000000" +-- Retrieval info: PRIVATE: EXPLICIT_SWITCHOVER_COUNTER STRING "0" +-- Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0" +-- Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1" +-- Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "0" +-- Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "0" +-- Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575" +-- Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1" +-- Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "27.000" +-- Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz" +-- Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "100.000" +-- Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1" +-- Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1" +-- Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz" +-- Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone III" +-- Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1" +-- Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "1" +-- Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1" +-- Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "Not Available" +-- Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0" +-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg" +-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT1 STRING "ps" +-- Retrieval info: PRIVATE: MIG_DEVICE_SPEED_GRADE STRING "Any" +-- Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0" +-- Retrieval info: PRIVATE: MIRROR_CLK1 STRING "0" +-- Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "40" +-- Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "80" +-- Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1" +-- Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "40.00000000" +-- Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "80.00000000" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "0" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "0" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT1 STRING "MHz" +-- Retrieval info: PRIVATE: PHASE_RECONFIG_FEATURE_ENABLED STRING "1" +-- Retrieval info: PRIVATE: PHASE_RECONFIG_INPUTS_CHECK STRING "0" +-- Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000" +-- Retrieval info: PRIVATE: PHASE_SHIFT1 STRING "0.00000000" +-- Retrieval info: PRIVATE: PHASE_SHIFT_STEP_ENABLED_CHECK STRING "0" +-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg" +-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT1 STRING "deg" +-- Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0" +-- Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "1" +-- Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1" +-- Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0" +-- Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0" +-- Retrieval info: PRIVATE: PLL_FBMIMIC_CHECK STRING "0" +-- Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0" +-- Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0" +-- Retrieval info: PRIVATE: PLL_TARGET_HARCOPY_CHECK NUMERIC "0" +-- Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0" +-- Retrieval info: PRIVATE: RECONFIG_FILE STRING "pll_mist.mif" +-- Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0" +-- Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "1" +-- Retrieval info: PRIVATE: SELF_RESET_LOCK_LOSS STRING "0" +-- Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0" +-- Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "0" +-- Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000" +-- Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz" +-- Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.500" +-- Retrieval info: PRIVATE: SPREAD_USE STRING "0" +-- Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0" +-- Retrieval info: PRIVATE: STICKY_CLK0 STRING "1" +-- Retrieval info: PRIVATE: STICKY_CLK1 STRING "1" +-- Retrieval info: PRIVATE: SWITCHOVER_COUNT_EDIT NUMERIC "1" +-- Retrieval info: PRIVATE: SWITCHOVER_FEATURE_ENABLED STRING "1" +-- Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0" +-- Retrieval info: PRIVATE: USE_CLK0 STRING "1" +-- Retrieval info: PRIVATE: USE_CLK1 STRING "1" +-- Retrieval info: PRIVATE: USE_CLKENA0 STRING "0" +-- Retrieval info: PRIVATE: USE_CLKENA1 STRING "0" +-- Retrieval info: PRIVATE: USE_MIL_SPEED_GRADE NUMERIC "0" +-- Retrieval info: PRIVATE: ZERO_DELAY_RADIO STRING "0" +-- Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all +-- Retrieval info: CONSTANT: BANDWIDTH_TYPE STRING "AUTO" +-- Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "27" +-- Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50" +-- Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "40" +-- Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0" +-- Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "27" +-- Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50" +-- Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "80" +-- Retrieval info: CONSTANT: CLK1_PHASE_SHIFT STRING "0" +-- Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0" +-- Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "37037" +-- Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone III" +-- Retrieval info: CONSTANT: LPM_TYPE STRING "altpll" +-- Retrieval info: CONSTANT: OPERATION_MODE STRING "NORMAL" +-- Retrieval info: CONSTANT: PLL_TYPE STRING "AUTO" +-- Retrieval info: CONSTANT: PORT_ACTIVECLOCK STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_ARESET STRING "PORT_USED" +-- Retrieval info: CONSTANT: PORT_CLKBAD0 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_CLKBAD1 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_CLKLOSS STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_CLKSWITCH STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_CONFIGUPDATE STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_FBIN STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_INCLK0 STRING "PORT_USED" +-- Retrieval info: CONSTANT: PORT_INCLK1 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_LOCKED STRING "PORT_USED" +-- Retrieval info: CONSTANT: PORT_PFDENA STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_PHASECOUNTERSELECT STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_PHASEDONE STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_PHASESTEP STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_PHASEUPDOWN STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_PLLENA STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANACLR STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANCLK STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANCLKENA STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANDATA STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANDATAOUT STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANDONE STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANREAD STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANWRITE STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clk0 STRING "PORT_USED" +-- Retrieval info: CONSTANT: PORT_clk1 STRING "PORT_USED" +-- Retrieval info: CONSTANT: PORT_clk2 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clk3 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clk4 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clk5 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena0 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena1 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena2 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena3 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena4 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena5 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_extclk0 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_extclk1 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_extclk2 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_extclk3 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: SELF_RESET_ON_LOSS_LOCK STRING "OFF" +-- Retrieval info: CONSTANT: WIDTH_CLOCK NUMERIC "5" +-- Retrieval info: USED_PORT: @clk 0 0 5 0 OUTPUT_CLK_EXT VCC "@clk[4..0]" +-- Retrieval info: USED_PORT: @inclk 0 0 2 0 INPUT_CLK_EXT VCC "@inclk[1..0]" +-- Retrieval info: USED_PORT: areset 0 0 0 0 INPUT GND "areset" +-- Retrieval info: USED_PORT: c0 0 0 0 0 OUTPUT_CLK_EXT VCC "c0" +-- Retrieval info: USED_PORT: c1 0 0 0 0 OUTPUT_CLK_EXT VCC "c1" +-- Retrieval info: USED_PORT: inclk0 0 0 0 0 INPUT_CLK_EXT GND "inclk0" +-- Retrieval info: USED_PORT: locked 0 0 0 0 OUTPUT GND "locked" +-- Retrieval info: CONNECT: @areset 0 0 0 0 areset 0 0 0 0 +-- Retrieval info: CONNECT: @inclk 0 0 1 1 GND 0 0 0 0 +-- Retrieval info: CONNECT: @inclk 0 0 1 0 inclk0 0 0 0 0 +-- Retrieval info: CONNECT: c0 0 0 0 0 @clk 0 0 1 0 +-- Retrieval info: CONNECT: c1 0 0 0 0 @clk 0 0 1 1 +-- Retrieval info: CONNECT: locked 0 0 0 0 @locked 0 0 0 0 +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.vhd TRUE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.ppf TRUE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.inc FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.cmp FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.bsf FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist_inst.vhd FALSE +-- Retrieval info: LIB_FILE: altera_mf +-- Retrieval info: CBX_MODULE_PREFIX: ON diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/rom/journey_bg_bits_1.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/rom/journey_bg_bits_1.vhd new file mode 100644 index 00000000..9297857d --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/rom/journey_bg_bits_1.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity journey_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 journey_bg_bits_1 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"F0",X"15",X"BC",X"15",X"AC",X"15",X"AC",X"15",X"AB",X"15",X"FF",X"D5",X"FF",X"D5",X"55",X"D5", + X"00",X"15",X"00",X"15",X"00",X"15",X"00",X"15",X"00",X"15",X"C0",X"15",X"C0",X"15",X"F0",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"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"05",X"00",X"15",X"00",X"15", + X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"FF",X"5F",X"FF",X"57",X"FF",X"7F",X"FD", + X"FD",X"FF",X"FD",X"FF",X"FD",X"FF",X"FD",X"FF",X"FD",X"FF",X"FD",X"FF",X"FD",X"FF",X"FD",X"FF", + X"D7",X"DF",X"DF",X"DF",X"DF",X"FF",X"FF",X"FF",X"FD",X"FF",X"FD",X"FF",X"FD",X"FF",X"FD",X"FF", + X"FA",X"AA",X"FA",X"AA",X"FA",X"AA",X"FA",X"AA",X"FA",X"AB",X"FA",X"BF",X"FA",X"FF",X"FF",X"D5", + X"FA",X"B0",X"FA",X"BC",X"FA",X"BC",X"FA",X"AF",X"FA",X"AF",X"FA",X"AB",X"FA",X"AB",X"FA",X"AA", + X"B0",X"00",X"BC",X"00",X"BC",X"00",X"BF",X"00",X"BF",X"00",X"BF",X"C0",X"FA",X"C0",X"FA",X"F0", + X"F0",X"00",X"C0",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"B0",X"00", + X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"F0",X"00",X"F0",X"00",X"F0",X"00", + X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00", + X"F1",X"D5",X"F1",X"50",X"F1",X"00",X"F0",X"00",X"F0",X"00",X"F0",X"00",X"F0",X"00",X"F0",X"00", + X"F1",X"DD",X"F1",X"DD",X"F1",X"DD",X"F1",X"DD",X"F1",X"DD",X"F1",X"DD",X"F1",X"D5",X"F1",X"D5", + X"AA",X"FF",X"A7",X"FF",X"BF",X"FF",X"FD",X"FF",X"7F",X"FF",X"FF",X"DF",X"FF",X"57",X"F5",X"55", + X"FE",X"AA",X"FA",X"AA",X"EA",X"AB",X"6A",X"AB",X"AA",X"AF",X"AA",X"AF",X"AA",X"BF",X"AA",X"BF", + X"55",X"AA",X"75",X"AA",X"F5",X"AA",X"F5",X"AA",X"F5",X"AA",X"D5",X"AA",X"56",X"AA",X"56",X"AA", + X"F7",X"FF",X"55",X"FF",X"55",X"AA",X"01",X"AA",X"01",X"AA",X"01",X"AA",X"05",X"AA",X"15",X"AA", + X"F5",X"57",X"FD",X"55",X"FD",X"55",X"FD",X"55",X"FD",X"57",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"5F",X"FF",X"57",X"FF",X"57",X"FF",X"55",X"FF",X"D5",X"7F",X"D5",X"7F",X"F5",X"5F",X"F5",X"5F", + X"FF",X"FD",X"FF",X"FD",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"FF",X"7F",X"FF",X"5F",X"FF", + X"DF",X"7D",X"DF",X"7D",X"FF",X"7D",X"FF",X"7D",X"FF",X"7D",X"FF",X"FD",X"FF",X"FD",X"FF",X"FD", + X"DF",X"7D",X"DF",X"7D",X"DF",X"7D",X"DF",X"7D",X"DF",X"7D",X"DF",X"7D",X"DF",X"7D",X"DF",X"7D", + X"FF",X"FF",X"FF",X"FF",X"7F",X"FF",X"55",X"4F",X"55",X"0D",X"00",X"0D",X"00",X"3D",X"C0",X"7D", + X"FD",X"DA",X"7F",X"FA",X"7F",X"FE",X"7F",X"DF",X"5F",X"FD",X"D7",X"FF",X"FF",X"FF",X"FF",X"FF", + X"F5",X"FF",X"D7",X"FF",X"1F",X"FF",X"0F",X"55",X"0D",X"55",X"05",X"7E",X"F5",X"FA",X"F5",X"DA", + X"00",X"00",X"00",X"01",X"00",X"05",X"01",X"55",X"55",X"55",X"FF",X"FF",X"FF",X"55",X"FD",X"55", + X"FF",X"FF",X"FF",X"FF",X"5F",X"F5",X"55",X"55",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"FF",X"AB",X"FF",X"AF",X"FF",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FD",X"FF",X"A9",X"FF",X"A9",X"FE",X"AF",X"FA",X"AF",X"EA",X"BF",X"AA",X"BF", + X"FD",X"5F",X"FD",X"57",X"FF",X"57",X"FF",X"D5",X"FF",X"D5",X"FF",X"F5",X"FF",X"F5",X"FF",X"F5", + X"57",X"FF",X"57",X"FF",X"D7",X"FF",X"15",X"FF",X"15",X"FF",X"D5",X"7F",X"F5",X"7F",X"FD",X"5F", + X"FF",X"F7",X"FF",X"F7",X"FF",X"F7",X"FF",X"F7",X"7F",X"F7",X"7F",X"FF",X"5F",X"FF",X"5F",X"FF", + X"7D",X"47",X"FD",X"05",X"FD",X"05",X"FD",X"01",X"FD",X"C0",X"FD",X"F0",X"FD",X"F4",X"FD",X"F7", + X"FF",X"FF",X"FF",X"FD",X"FF",X"F5",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"AF",X"55",X"AF",X"55",X"AF",X"55",X"A5",X"55",X"57",X"FD",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"03",X"00",X"00",X"00",X"00",X"2F",X"00",X"AF",X"C0",X"AF",X"FC",X"AF",X"FF",X"AF",X"D5", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"55",X"FF",X"FF",X"C0",X"3F",X"00",X"0F", + X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"D5",X"FD",X"55",X"55",X"50",X"50",X"00",X"00",X"00", + X"FF",X"FA",X"FF",X"EA",X"FF",X"AA",X"FA",X"AA",X"EA",X"AA",X"AA",X"AA",X"AA",X"BF",X"AB",X"FF", + X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"0F", + X"00",X"D7",X"00",X"17",X"00",X"15",X"00",X"15",X"00",X"05",X"00",X"0D",X"00",X"01",X"00",X"01", + X"01",X"FF",X"01",X"FF",X"01",X"7F",X"01",X"7F",X"01",X"7F",X"03",X"5F",X"00",X"5F",X"00",X"5F", + X"FF",X"FF",X"0F",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"0A",X"AA",X"28",X"02",X"20",X"02",X"20",X"02",X"20",X"02",X"22",X"AA",X"22",X"AA",X"00",X"00", + X"00",X"00",X"00",X"02",X"2A",X"AA",X"2A",X"AA",X"20",X"02",X"00",X"00",X"00",X"00",X"00",X"00", + X"22",X"82",X"22",X"82",X"20",X"82",X"20",X"82",X"20",X"82",X"20",X"AA",X"20",X"AA",X"00",X"00", + X"22",X"AA",X"20",X"82",X"20",X"82",X"20",X"82",X"20",X"02",X"20",X"0A",X"20",X"0A",X"00",X"00", + X"00",X"80",X"2A",X"AA",X"00",X"80",X"00",X"80",X"00",X"80",X"0A",X"80",X"0A",X"80",X"00",X"00", + X"20",X"AA",X"20",X"82",X"20",X"82",X"20",X"82",X"20",X"82",X"22",X"8A",X"22",X"8A",X"00",X"00", + X"20",X"AA",X"20",X"82",X"20",X"82",X"20",X"82",X"20",X"82",X"22",X"AA",X"22",X"AA",X"00",X"00", + X"28",X"00",X"22",X"00",X"22",X"80",X"20",X"AA",X"20",X"2A",X"20",X"00",X"20",X"00",X"00",X"00", + X"2A",X"AA",X"20",X"82",X"20",X"82",X"20",X"82",X"20",X"82",X"22",X"AA",X"22",X"AA",X"00",X"00", + X"2A",X"AA",X"2A",X"AA",X"20",X"80",X"20",X"80",X"20",X"80",X"20",X"80",X"22",X"80",X"00",X"00", + X"FF",X"F5",X"FF",X"F5",X"FF",X"F5",X"FF",X"F5",X"FF",X"F5",X"FF",X"F5",X"FF",X"F7",X"FF",X"CF", + X"F5",X"40",X"F4",X"00",X"F0",X"00",X"C0",X"00",X"00",X"01",X"00",X"15",X"03",X"D5",X"0F",X"D5", + X"55",X"44",X"55",X"50",X"D5",X"40",X"D5",X"40",X"D5",X"55",X"F5",X"5F",X"F5",X"5F",X"F5",X"5C", + X"AA",X"AA",X"AA",X"AB",X"AA",X"BF",X"AF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"D5",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"FA",X"FE",X"AA",X"EA",X"AA", + X"00",X"3F",X"0F",X"FF",X"3F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"57",X"FF",X"55",X"7F",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"2A",X"AA",X"2A",X"AA",X"20",X"80",X"20",X"80",X"20",X"80",X"22",X"AA",X"22",X"AA",X"00",X"00", + X"2A",X"2A",X"22",X"A2",X"20",X"82",X"20",X"82",X"20",X"82",X"22",X"AA",X"22",X"AA",X"00",X"00", + X"20",X"0A",X"20",X"0A",X"20",X"0A",X"20",X"0A",X"20",X"0A",X"22",X"AA",X"22",X"A8",X"00",X"00", + X"0A",X"A8",X"28",X"0A",X"20",X"02",X"20",X"02",X"20",X"02",X"22",X"AA",X"22",X"AA",X"00",X"00", + X"20",X"02",X"20",X"02",X"20",X"82",X"20",X"82",X"20",X"82",X"22",X"AA",X"22",X"AA",X"00",X"00", + X"20",X"00",X"20",X"00",X"20",X"80",X"20",X"80",X"20",X"80",X"22",X"AA",X"22",X"AA",X"00",X"00", + X"20",X"AA",X"20",X"82",X"20",X"82",X"20",X"02",X"20",X"02",X"22",X"AA",X"22",X"A8",X"00",X"00", + X"2A",X"AA",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"0A",X"AA",X"0A",X"AA",X"00",X"00", + X"00",X"00",X"00",X"00",X"20",X"02",X"2A",X"AA",X"2A",X"AA",X"20",X"02",X"00",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"00",X"0A",X"00",X"0A",X"00",X"00", + X"28",X"02",X"0A",X"0A",X"02",X"A8",X"00",X"A0",X"00",X"20",X"0A",X"AA",X"0A",X"AA",X"00",X"00", + X"00",X"0A",X"00",X"0A",X"00",X"02",X"00",X"02",X"00",X"02",X"0A",X"AA",X"0A",X"AA",X"00",X"00", + X"2A",X"AA",X"0A",X"00",X"02",X"A0",X"02",X"A0",X"0A",X"00",X"2A",X"AA",X"2A",X"AA",X"00",X"00", + X"2A",X"AA",X"00",X"2A",X"02",X"A0",X"2A",X"00",X"20",X"00",X"22",X"AA",X"22",X"AA",X"00",X"00", + X"2A",X"AA",X"20",X"02",X"20",X"02",X"20",X"02",X"20",X"02",X"22",X"AA",X"22",X"AA",X"00",X"00", + X"2A",X"80",X"20",X"80",X"20",X"80",X"20",X"80",X"20",X"80",X"22",X"AA",X"22",X"AA",X"00",X"00", + X"2A",X"AA",X"20",X"28",X"20",X"2A",X"20",X"02",X"20",X"02",X"22",X"AA",X"22",X"AA",X"00",X"00", + X"2A",X"8A",X"20",X"AA",X"20",X"A0",X"20",X"80",X"20",X"80",X"22",X"AA",X"22",X"AA",X"00",X"00", + X"20",X"AA",X"20",X"AA",X"20",X"82",X"20",X"82",X"20",X"82",X"22",X"8A",X"22",X"8A",X"00",X"00", + X"00",X"00",X"20",X"00",X"20",X"00",X"2A",X"AA",X"2A",X"AA",X"20",X"00",X"20",X"00",X"00",X"00", + X"2A",X"AA",X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"02",X"0A",X"AA",X"0A",X"AA",X"00",X"00", + X"2A",X"A0",X"00",X"28",X"00",X"0A",X"00",X"2A",X"00",X"A8",X"0A",X"A0",X"0A",X"80",X"00",X"00", + X"2A",X"AA",X"00",X"28",X"02",X"A0",X"02",X"A0",X"00",X"28",X"0A",X"AA",X"0A",X"AA",X"00",X"00", + X"28",X"0A",X"0A",X"28",X"02",X"A0",X"00",X"80",X"02",X"A0",X"0A",X"28",X"00",X"0A",X"00",X"00", + X"28",X"00",X"0A",X"00",X"02",X"80",X"00",X"AA",X"02",X"AA",X"0A",X"80",X"0A",X"00",X"00",X"00", + X"20",X"02",X"22",X"02",X"22",X"82",X"20",X"82",X"20",X"A2",X"20",X"2A",X"20",X"0A",X"00",X"00", + X"FC",X"00",X"F0",X"0F",X"C0",X"3F",X"00",X"FF",X"0F",X"FF",X"1F",X"FF",X"5F",X"FF",X"5F",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0",X"FF",X"C0",X"FF",X"00", + X"FF",X"55",X"55",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"EA",X"FA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"BF",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"3F",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"54",X"00",X"50",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"50",X"55",X"50",X"55",X"50",X"55",X"50",X"55",X"50",X"55",X"40",X"55",X"40",X"55",X"00", + X"00",X"00",X"00",X"00",X"55",X"00",X"55",X"40",X"55",X"40",X"55",X"50",X"55",X"50",X"55",X"50", + X"FF",X"F0",X"FF",X"F0",X"FF",X"F0",X"FF",X"F0",X"FF",X"F0",X"FF",X"C0",X"3F",X"C0",X"03",X"C0", + X"FF",X"01",X"FF",X"D5",X"FF",X"D5",X"FD",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC",X"FF",X"F0",X"FF",X"C0",X"FF",X"C1", + X"FF",X"FF",X"FF",X"FD",X"FD",X"55",X"55",X"57",X"57",X"FF",X"FF",X"FF",X"FF",X"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"AB",X"FF", + X"FE",X"00",X"FA",X"00",X"F8",X"00",X"E8",X"00",X"A0",X"00",X"80",X"00",X"00",X"0F",X"FF",X"FF", + X"BF",X"F9",X"BF",X"F9",X"BF",X"E9",X"EF",X"E5",X"FF",X"E4",X"FF",X"A0",X"FF",X"80",X"FE",X"80", + X"FE",X"95",X"FF",X"95",X"FF",X"95",X"BF",X"A5",X"BF",X"E5",X"BF",X"E5",X"BF",X"E5",X"BF",X"E9", + X"00",X"00",X"00",X"00",X"95",X"55",X"A5",X"55",X"E9",X"55",X"F9",X"55",X"FA",X"55",X"FE",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"F0",X"00",X"00",X"00", + X"55",X"FF",X"55",X"7F",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"FF",X"5F",X"FF",X"57",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"D5",X"55",X"55",X"55",X"55",X"5F",X"5F",X"FF",X"5F",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FF",X"FE",X"FF",X"FF", + X"FE",X"FE",X"BF",X"FA",X"BF",X"EA",X"AA",X"AA",X"AA",X"AB",X"FA",X"AF",X"BF",X"FF",X"BF",X"FF", + X"EA",X"AF",X"AA",X"AB",X"AF",X"EA",X"BF",X"FA",X"BF",X"FE",X"BE",X"FE",X"FB",X"BE",X"FB",X"BE", + X"FF",X"FA",X"FF",X"FE",X"FF",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F0", + X"FD",X"55",X"D5",X"55",X"55",X"7F",X"55",X"FF",X"57",X"FF",X"57",X"FF",X"57",X"FF",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"FF",X"AA",X"AA", + X"3F",X"FE",X"FF",X"FE",X"FF",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"03",X"FF",X"03",X"FF",X"03",X"FF",X"0F",X"FF",X"0F",X"FE",X"0F",X"FE",X"3F",X"FE",X"3F",X"FE", + X"00",X"0F",X"00",X"0F",X"00",X"3F",X"00",X"3F",X"00",X"3F",X"00",X"3F",X"00",X"FF",X"00",X"FF", + X"00",X"0F",X"00",X"0F",X"00",X"0F",X"00",X"0F",X"00",X"0F",X"00",X"0F",X"00",X"0F",X"00",X"0F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"FF",X"D5",X"F5",X"55",X"D5",X"55",X"55",X"7F",X"FF",X"F5", + X"BF",X"FF",X"BF",X"FF",X"AB",X"FF",X"AA",X"FF",X"AA",X"BF",X"AA",X"AF",X"AA",X"AA",X"AA",X"AA", + X"00",X"3F",X"00",X"FF",X"03",X"FF",X"0F",X"FF",X"3F",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"03",X"00",X"03",X"00",X"0F",X"00",X"0F",X"00",X"3F", + X"15",X"40",X"55",X"40",X"55",X"40",X"55",X"00",X"55",X"00",X"54",X"00",X"54",X"00",X"54",X"00", + X"00",X"54",X"01",X"54",X"01",X"50",X"01",X"50",X"01",X"50",X"01",X"50",X"05",X"50",X"15",X"50", + X"FF",X"FF",X"55",X"5F",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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"FF",X"F5", + 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"00",X"FF",X"03",X"FF",X"2B",X"FF",X"2A",X"FF",X"AA",X"BF",X"AA",X"AF",X"AA",X"AB",X"AA",X"AA", + X"55",X"40",X"55",X"00",X"54",X"00",X"50",X"00",X"40",X"00",X"00",X"00",X"00",X"03",X"00",X"0F", + X"40",X"00",X"50",X"00",X"50",X"00",X"55",X"00",X"55",X"00",X"55",X"40",X"55",X"50",X"55",X"54", + X"01",X"55",X"00",X"55",X"00",X"55",X"00",X"15",X"00",X"15",X"00",X"05",X"00",X"01",X"00",X"00", + X"15",X"40",X"15",X"40",X"15",X"50",X"05",X"50",X"05",X"50",X"05",X"54",X"05",X"54",X"01",X"55", + X"55",X"00",X"55",X"00",X"55",X"00",X"55",X"00",X"55",X"00",X"55",X"00",X"55",X"00",X"15",X"00", + 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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FF",X"FA",X"AA",X"AA", + X"15",X"55",X"05",X"55",X"00",X"55",X"00",X"15",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00", + X"40",X"01",X"40",X"00",X"50",X"00",X"54",X"00",X"55",X"00",X"55",X"40",X"55",X"50",X"55",X"55", + X"15",X"56",X"05",X"55",X"05",X"55",X"01",X"55",X"01",X"55",X"00",X"55",X"00",X"15",X"00",X"05", + X"55",X"6A",X"55",X"6A",X"55",X"6A",X"55",X"6A",X"55",X"6A",X"15",X"6A",X"15",X"5A",X"15",X"5A", + 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"05",X"55",X"00",X"00",X"00",X"00", + X"55",X"55",X"15",X"55",X"01",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"FF",X"AA",X"AA",X"6A",X"AA",X"5A",X"AA",X"55",X"AA",X"55",X"55",X"55",X"55",X"55",X"55", + X"FA",X"FF",X"FA",X"FF",X"FE",X"BF",X"FE",X"BF",X"BF",X"AF",X"BF",X"AA",X"AF",X"EA",X"AB",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"57",X"FF",X"55",X"7F", + X"FA",X"AA",X"FF",X"AA",X"FF",X"FA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"55",X"55",X"55",X"55",X"05",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"7F",X"FF",X"5F",X"FF",X"55",X"FF",X"55",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"AA",X"AA",X"EA",X"AA",X"FE",X"AA",X"FF",X"AA",X"FF",X"EA",X"FF",X"FA",X"FF",X"FF", + X"01",X"55",X"00",X"15",X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"00",X"AA",X"00",X"AA",X"A0", + X"40",X"00",X"50",X"00",X"55",X"00",X"55",X"54",X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"FF",X"57",X"FF",X"55",X"FF",X"55",X"7F", + X"FF",X"FA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"A8",X"00",X"AA",X"00",X"AA",X"A0",X"EA",X"A8",X"FA",X"AA",X"FE",X"AA",X"FF",X"AA",X"FF",X"EA", + X"55",X"55",X"15",X"55",X"05",X"55",X"01",X"55",X"00",X"55",X"00",X"15",X"00",X"01",X"A0",X"00", + X"55",X"7F",X"55",X"5F",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"FF",X"7F",X"FF",X"7F",X"FF",X"5F",X"FF",X"5F",X"FF",X"55",X"FF",X"55",X"7F", + X"E8",X"00",X"EA",X"00",X"FA",X"80",X"FA",X"A0",X"FE",X"A0",X"FF",X"A8",X"FF",X"AA",X"FF",X"EA", + X"01",X"55",X"01",X"55",X"00",X"55",X"00",X"55",X"80",X"15",X"80",X"05",X"A0",X"05",X"A0",X"01", + X"55",X"40",X"55",X"40",X"55",X"50",X"55",X"50",X"55",X"54",X"15",X"54",X"15",X"55",X"05",X"55", + X"50",X"00",X"50",X"00",X"54",X"00",X"54",X"00",X"54",X"00",X"55",X"00",X"55",X"00",X"55",X"40", + X"50",X"00",X"50",X"00",X"50",X"00",X"50",X"00",X"50",X"00",X"50",X"00",X"50",X"00",X"50",X"00", + X"57",X"FF",X"57",X"FF",X"55",X"FF",X"55",X"FF",X"55",X"7F",X"55",X"7F",X"55",X"5F",X"55",X"5F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"FF",X"7F",X"FF",X"7F",X"FF",X"5F",X"FF", + X"FF",X"F8",X"FF",X"F8",X"FF",X"FA",X"FF",X"FA",X"FF",X"FE",X"FF",X"FE",X"FF",X"FF",X"FF",X"FF", + X"FF",X"81",X"FF",X"81",X"FF",X"E1",X"FF",X"E0",X"FF",X"E0",X"FF",X"E0",X"FF",X"E0",X"FF",X"E8", + X"FC",X"15",X"FF",X"15",X"FF",X"15",X"FF",X"15",X"FF",X"05",X"FF",X"85",X"FF",X"85",X"FF",X"81", + X"F0",X"15",X"FC",X"15",X"FC",X"15",X"FC",X"15",X"FC",X"15",X"FC",X"15",X"FC",X"15",X"FC",X"15", + X"55",X"57",X"55",X"57",X"55",X"57",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"5F",X"55",X"5F",X"55",X"5F",X"55",X"5F", + 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"55",X"7F",X"55",X"7F", + X"57",X"FF",X"57",X"FF",X"57",X"FF",X"57",X"FF",X"57",X"FF",X"57",X"FF",X"57",X"FF",X"57",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"5F",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"00",X"00",X"00",X"00",X"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"2A",X"A8",X"A0",X"0A",X"88",X"22",X"88",X"22",X"88",X"22",X"8A",X"A2",X"A0",X"0A",X"2A",X"A8", + X"5A",X"AA",X"DA",X"AA",X"DA",X"AA",X"DA",X"AA",X"FA",X"AA",X"FA",X"AA",X"FA",X"EA",X"FA",X"AA", + X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA", + X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA", + X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA", + X"FF",X"F5",X"FF",X"F5",X"FF",X"FD",X"FF",X"FD",X"FF",X"FD",X"FF",X"FD",X"FF",X"FF",X"FF",X"FF", + X"FF",X"55",X"FF",X"55",X"FF",X"55",X"FF",X"D5",X"FF",X"D5",X"FF",X"D5",X"FF",X"D5",X"FF",X"F5", + X"F5",X"55",X"F5",X"55",X"F5",X"55",X"F5",X"55",X"FD",X"55",X"FD",X"55",X"FD",X"55",X"FD",X"55", + 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"D5",X"55",X"D5",X"55", + X"FF",X"D5",X"FF",X"D5",X"FF",X"D5",X"FF",X"D5",X"FF",X"D5",X"FF",X"D5",X"FF",X"D5",X"FF",X"D5", + X"FF",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"55",X"FF",X"55", + X"FD",X"55",X"FD",X"55",X"FD",X"55",X"FD",X"55",X"FD",X"55",X"FD",X"55",X"FD",X"55",X"FD",X"55", + X"FF",X"15",X"FF",X"D5",X"FF",X"D5",X"FF",X"55",X"FF",X"55",X"FF",X"55",X"FF",X"55",X"FF",X"55", + X"FF",X"F5",X"FF",X"F5",X"FF",X"F5",X"FF",X"D5",X"FF",X"D5",X"FF",X"D5",X"FF",X"D5",X"FF",X"D5", + X"F5",X"55",X"F5",X"55",X"F5",X"55",X"D5",X"55",X"D5",X"55",X"D5",X"55",X"D5",X"55",X"D5",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"FD",X"FF",X"FD",X"FF",X"FD", + X"55",X"55",X"55",X"56",X"55",X"5A",X"55",X"6A",X"55",X"6A",X"55",X"AA",X"55",X"AA",X"56",X"AA", + X"56",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"6A",X"AA",X"6A",X"AA", + X"55",X"6A",X"55",X"6A",X"55",X"AA",X"55",X"AA",X"55",X"AA",X"55",X"AA",X"56",X"AA",X"56",X"AA", + X"55",X"5A",X"55",X"5A",X"55",X"5A",X"55",X"6A",X"55",X"6A",X"55",X"6A",X"55",X"6A",X"55",X"6A", + X"55",X"56",X"55",X"56",X"55",X"5A",X"55",X"5A",X"55",X"5A",X"55",X"5A",X"55",X"5A",X"55",X"5A", + X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56", + X"55",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",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"95",X"AA",X"95",X"AA",X"A6", + X"95",X"56",X"95",X"56",X"95",X"56",X"95",X"5A",X"95",X"5A",X"94",X"5A",X"95",X"5A",X"95",X"5A", + X"95",X"6A",X"95",X"6A",X"95",X"6A",X"95",X"6A",X"95",X"6A",X"95",X"6A",X"95",X"6A",X"95",X"6A", + X"95",X"AA",X"95",X"AA",X"95",X"AA",X"95",X"AA",X"95",X"AA",X"95",X"AA",X"95",X"AA",X"95",X"AA", + X"96",X"AA",X"96",X"AA",X"A6",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"C0",X"00",X"F0",X"00",X"FC",X"00",X"F0",X"00",X"FF",X"00",X"FF",X"C0",X"FF",X"FF", + X"00",X"03",X"00",X"0F",X"00",X"3F",X"00",X"0F",X"03",X"CF",X"0F",X"FF",X"3F",X"FF",X"FF",X"FF", + X"55",X"55",X"85",X"55",X"00",X"55",X"0C",X"95",X"00",X"05",X"00",X"C1",X"00",X"01",X"00",X"00", + X"D5",X"F7",X"F7",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"55",X"57",X"55",X"5F",X"55",X"7F",X"55",X"FF",X"55",X"7F",X"55",X"7F",X"57",X"FF",X"7F",X"FF", + X"FF",X"FF",X"7F",X"FF",X"5F",X"FF",X"57",X"FF",X"5F",X"FF",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"5F",X"FF",X"57",X"FF",X"5F",X"FF",X"7F",X"FF",X"FF",X"FF",X"7F",X"FF",X"7F",X"FF", + X"FF",X"FF",X"7F",X"FF",X"5F",X"FF",X"5F",X"FF",X"57",X"FF",X"55",X"FF",X"55",X"5F",X"55",X"57", + X"FF",X"FE",X"EF",X"E7",X"FF",X"BE",X"FD",X"FB",X"FA",X"EE",X"6F",X"6F",X"FE",X"FB",X"EF",X"AE", + X"55",X"7F",X"55",X"FF",X"55",X"FF",X"57",X"FF",X"5F",X"FF",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF", + X"57",X"FF",X"57",X"FF",X"57",X"FF",X"57",X"FF",X"57",X"FF",X"57",X"FF",X"57",X"FF",X"57",X"FF", + X"55",X"FF",X"55",X"FF",X"55",X"FF",X"55",X"FF",X"57",X"FF",X"57",X"FF",X"57",X"FF",X"57",X"FF", + X"55",X"5F",X"55",X"5F",X"55",X"5F",X"55",X"5F",X"55",X"5F",X"55",X"5F",X"55",X"7F",X"55",X"7F", + X"55",X"57",X"55",X"57",X"55",X"57",X"55",X"57",X"55",X"57",X"55",X"57",X"55",X"57",X"55",X"57", + X"55",X"5F",X"55",X"5F",X"55",X"57",X"55",X"57",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"5F",X"55",X"5F",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"57",X"55",X"D7",X"55",X"57",X"55",X"57",X"55",X"5F",X"55",X"5F",X"55",X"5F",X"55",X"5F", + X"55",X"57",X"55",X"57",X"55",X"57",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"57",X"FF",X"55",X"FF",X"55",X"FF",X"55",X"7F",X"55",X"7F",X"55",X"5F",X"55",X"5F",X"55",X"57", + X"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"5F",X"FF", + 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"7F",X"55",X"7F", + X"5F",X"FF",X"5F",X"FF",X"5F",X"FF",X"57",X"FF",X"57",X"FF",X"57",X"FF",X"57",X"FF",X"57",X"FF", + X"57",X"FF",X"5F",X"FF",X"5F",X"FF",X"7F",X"FF",X"7F",X"FF",X"5F",X"FF",X"5F",X"FF",X"5F",X"FF", + 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"7F",X"55",X"7F", + X"55",X"5F",X"55",X"5F",X"55",X"5F",X"55",X"5F",X"55",X"5F",X"55",X"5F",X"55",X"5F",X"55",X"5F", + X"5F",X"FF",X"5F",X"FF",X"5F",X"FF",X"57",X"FF",X"57",X"FF",X"57",X"FF",X"55",X"FF",X"55",X"7F", + X"55",X"5F",X"55",X"5F",X"55",X"5F",X"55",X"5F",X"55",X"7F",X"55",X"7F",X"55",X"FF",X"55",X"FF", + X"FF",X"FF",X"FF",X"FF",X"3F",X"FF",X"3F",X"FF",X"3F",X"FF",X"3F",X"FF",X"3F",X"FF",X"3F",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF",X"FF",X"CF",X"FF",X"FF",X"FF",X"7F",X"FF", + X"73",X"FF",X"73",X"FF",X"73",X"FF",X"7C",X"FF",X"5C",X"FF",X"5C",X"FF",X"5F",X"3F",X"57",X"3F", + X"57",X"0F",X"57",X"0F",X"57",X"CF",X"55",X"C3",X"55",X"F0",X"55",X"70",X"55",X"7C",X"55",X"5C", + X"55",X"5F",X"55",X"57",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"FE",X"FF",X"FF",X"FB",X"FC",X"FF",X"FF",X"BF",X"FF",X"2E",X"FF",X"FF",X"FD",X"D3", + X"FF",X"39",X"FF",X"FF",X"FE",X"F3",X"FF",X"FE",X"FF",X"FC",X"FF",X"FF",X"FF",X"EF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"FF",X"3F",X"FF", + X"0F",X"FF",X"CF",X"FF",X"F0",X"FF",X"70",X"3F",X"7C",X"0F",X"5F",X"03",X"57",X"C0",X"55",X"F0", + X"7F",X"FF",X"FF",X"FE",X"3F",X"BF",X"CD",X"F3",X"FC",X"FF",X"7B",X"7F",X"E3",X"CF",X"37",X"FD", + X"FF",X"1B",X"73",X"F1",X"FF",X"7F",X"FF",X"ED",X"FB",X"FF",X"FF",X"FB",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"BF", + X"ED",X"DC",X"FC",X"7F",X"DF",X"CF",X"3D",X"F7",X"F3",X"FF",X"DF",X"8F",X"36",X"7F",X"BF",X"3F", + X"73",X"1F",X"2F",X"FF",X"FB",X"FF",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"55",X"7C",X"55",X"5F",X"55",X"57",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"00",X"FF",X"00",X"03",X"F0",X"00",X"7C",X"00",X"5F",X"C0",X"55",X"FF",X"55",X"57",X"55",X"55", + X"FF",X"FF",X"FF",X"FF",X"03",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"5F",X"FF", + X"57",X"FF",X"5F",X"FF",X"5F",X"FF",X"5F",X"FF",X"7F",X"FF",X"7F",X"FF",X"7F",X"FF",X"7F",X"FF", + X"55",X"5F",X"55",X"7F",X"55",X"7F",X"55",X"FF",X"55",X"FF",X"57",X"FF",X"57",X"FF",X"57",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"57",X"55",X"5F", + X"55",X"FF",X"57",X"FF",X"5F",X"FF",X"7F",X"FF",X"7F",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"57",X"55",X"5F",X"55",X"7F", + X"55",X"55",X"55",X"5F",X"55",X"FF",X"5F",X"FF",X"7F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"57",X"FF",X"FF",X"FF",X"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"AD",X"AA",X"AB",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"B5",X"AA",X"B5",X"AA",X"B5",X"AA",X"B5",X"AA",X"B5",X"AA",X"AD",X"AA",X"AD",X"AA",X"AD", + X"AA",X"D5",X"AA",X"D5",X"AA",X"D5",X"AA",X"D5",X"AA",X"D5",X"AA",X"D5",X"AA",X"D5",X"AA",X"B5", + X"AD",X"7A",X"AD",X"7A",X"AB",X"7A",X"AB",X"EA",X"AA",X"AB",X"AA",X"AB",X"AA",X"AB",X"AA",X"AB", + X"B5",X"57",X"B5",X"57",X"B5",X"D7",X"B5",X"5E",X"B7",X"5E",X"B5",X"5E",X"B5",X"5E",X"AD",X"7A", + X"B5",X"55",X"B5",X"55",X"B5",X"D5",X"B5",X"55",X"B7",X"55",X"B5",X"55",X"B5",X"55",X"B5",X"55", + X"AB",X"55",X"AD",X"55",X"AD",X"75",X"AD",X"55",X"AD",X"D5",X"AD",X"55",X"AD",X"55",X"B5",X"55", + X"AA",X"D5",X"AA",X"D5",X"AA",X"D5",X"AA",X"D5",X"AB",X"75",X"AB",X"55",X"AB",X"55",X"AB",X"55", + X"AA",X"AB",X"AA",X"AB",X"AA",X"AD",X"AA",X"AD",X"AA",X"AD",X"AA",X"B5",X"AA",X"B5",X"AA",X"B5", + X"55",X"55",X"55",X"55",X"55",X"55",X"D5",X"55",X"B5",X"55",X"AF",X"55",X"AA",X"FF",X"AA",X"AA", + X"B5",X"56",X"D5",X"55",X"DD",X"55",X"D5",X"55",X"75",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"AA",X"D6",X"AA",X"D6",X"AB",X"56",X"AB",X"56",X"AB",X"56",X"AD",X"56",X"AD",X"56",X"AD",X"56", + X"5E",X"AA",X"5E",X"AB",X"7A",X"AB",X"7A",X"AB",X"7A",X"AE",X"7A",X"AE",X"EA",X"B6",X"EA",X"B6", + X"55",X"5B",X"55",X"5D",X"5D",X"79",X"55",X"79",X"75",X"E9",X"55",X"E9",X"57",X"A9",X"57",X"A9", + X"AD",X"55",X"AD",X"55",X"B5",X"75",X"B5",X"55",X"D7",X"55",X"D5",X"55",X"D5",X"55",X"55",X"55", + X"AA",X"AD",X"AA",X"B5",X"AA",X"B5",X"AA",X"D5",X"AA",X"D5",X"AB",X"75",X"AB",X"55",X"AD",X"55", + X"57",X"AA",X"5E",X"AA",X"7A",X"AA",X"7A",X"AA",X"EA",X"AA",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"55",X"55",X"55",X"57",X"5D",X"57",X"55",X"5E",X"75",X"7A",X"55",X"7A",X"55",X"EA",X"55",X"EA", + X"55",X"6A",X"55",X"6A",X"5D",X"6A",X"55",X"5A",X"75",X"5A",X"55",X"5A",X"55",X"56",X"55",X"56", + X"55",X"AA",X"55",X"AA",X"5D",X"AA",X"55",X"AA",X"75",X"AA",X"55",X"AA",X"55",X"AA",X"55",X"AA", + X"59",X"AA",X"59",X"AA",X"5D",X"AA",X"56",X"AA",X"76",X"AA",X"56",X"AA",X"56",X"AA",X"56",X"AA", + X"A1",X"AA",X"A1",X"AA",X"AD",X"AA",X"A1",X"AA",X"B1",X"AA",X"69",X"AA",X"69",X"AA",X"59",X"AA", + X"81",X"AA",X"81",X"AA",X"AD",X"AA",X"A1",X"AA",X"B1",X"AA",X"A1",X"AA",X"A1",X"AA",X"A1",X"AA", + X"E0",X"6A",X"A0",X"6A",X"AC",X"6A",X"80",X"6A",X"B0",X"6A",X"81",X"AA",X"81",X"AA",X"81",X"AA", + X"57",X"D6",X"57",X"1A",X"57",X"1A",X"5C",X"1A",X"5C",X"1A",X"5C",X"1A",X"70",X"1A",X"70",X"5A", + X"AB",X"F5",X"AF",X"F7",X"B7",X"F5",X"B7",X"FF",X"77",X"FF",X"D7",X"FF",X"D7",X"FE",X"D7",X"F6", + X"AA",X"A5",X"AA",X"AA",X"AE",X"AA",X"AA",X"AA",X"B8",X"AB",X"A8",X"AB",X"A8",X"2F",X"A8",X"FD", + X"6A",X"54",X"6D",X"54",X"69",X"54",X"75",X"54",X"65",X"54",X"A9",X"54",X"AA",X"54",X"AA",X"94", + X"56",X"A8",X"56",X"A0",X"5E",X"A0",X"5A",X"A0",X"7A",X"94",X"5A",X"94",X"5A",X"94",X"6A",X"54", + X"AB",X"5A",X"AD",X"6A",X"AD",X"6A",X"B5",X"7A",X"B5",X"AA",X"D7",X"AA",X"D5",X"AA",X"55",X"A8", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AE",X"AA",X"BA",X"AA",X"DA", + X"AA",X"55",X"AA",X"95",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"D5",X"55",X"55",X"55",X"95",X"55",X"95",X"55",X"A5",X"55",X"A5",X"55",X"A9",X"55",X"AA",X"55", + X"AA",X"D5",X"AA",X"D5",X"AB",X"55",X"AD",X"55",X"AD",X"55",X"B5",X"55",X"B5",X"55",X"D5",X"55", + X"AA",X"AA",X"AA",X"AA",X"AE",X"AA",X"AA",X"AB",X"BA",X"AB",X"AA",X"AD",X"AA",X"B5",X"AA",X"B5", + X"AA",X"D5",X"AA",X"D5",X"AA",X"55",X"AA",X"95",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"7F",X"FF",X"7F",X"FF",X"7F",X"FF",X"EB",X"FF",X"AB",X"FD",X"AB",X"FD",X"AA",X"F5",X"AA",X"F5", + X"00",X"00",X"00",X"00",X"FF",X"C0",X"FF",X"F0",X"57",X"F0",X"77",X"FC",X"57",X"FC",X"5F",X"FF", + X"02",X"00",X"0A",X"00",X"08",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0A",X"A0",X"0A",X"A0",X"0A",X"A0",X"0A",X"80",X"0A",X"80",X"02",X"80",X"02",X"00",X"02",X"00", + X"00",X"00",X"00",X"00",X"00",X"2A",X"02",X"AA",X"0A",X"AA",X"AA",X"AA",X"0A",X"A8",X"0A",X"A8", + X"AA",X"00",X"AA",X"00",X"A8",X"00",X"A8",X"00",X"A0",X"00",X"A0",X"00",X"80",X"00",X"80",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"AA",X"A0",X"AA",X"A0",X"AA",X"80",X"AA",X"80", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"55",X"50",X"15",X"42",X"05",X"0A", + X"75",X"55",X"D5",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"AA",X"AA",X"AA",X"AE",X"AB",X"AA",X"AD",X"BA",X"B5",X"AA",X"D5",X"AB",X"55",X"AD",X"55", + X"AA",X"95",X"AA",X"95",X"AE",X"95",X"AA",X"A5",X"BA",X"A5",X"AA",X"A5",X"AA",X"A9",X"AA",X"AA", + X"55",X"40",X"55",X"50",X"55",X"54",X"A5",X"54",X"A9",X"55",X"A9",X"55",X"AA",X"55",X"AA",X"55", + X"00",X"00",X"C0",X"00",X"C0",X"00",X"50",X"00",X"54",X"00",X"54",X"00",X"55",X"00",X"55",X"40", + X"00",X"00",X"00",X"00",X"A0",X"00",X"80",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"A8",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"AA",X"A0",X"AA",X"80",X"AA",X"00", + X"43",X"AA",X"43",X"AA",X"03",X"AA",X"0E",X"AA",X"3A",X"AA",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"50",X"3A",X"50",X"3A",X"50",X"3A",X"50",X"3A",X"50",X"3A",X"50",X"3A",X"40",X"EA",X"40",X"EA", + X"54",X"0E",X"54",X"0E",X"54",X"0E",X"50",X"0E",X"50",X"0E",X"50",X"3E",X"50",X"3A",X"50",X"3A", + X"55",X"03",X"55",X"03",X"55",X"03",X"54",X"0F",X"54",X"0E",X"54",X"0E",X"54",X"0E",X"54",X"0E", + X"D5",X"50",X"D5",X"40",X"55",X"40",X"55",X"40",X"55",X"40",X"55",X"40",X"55",X"40",X"55",X"03", + X"AA",X"AA",X"AA",X"AB",X"AE",X"AD",X"AA",X"B4",X"BA",X"D4",X"AB",X"50",X"AD",X"50",X"B5",X"50", + X"AB",X"EB",X"AA",X"AF",X"AE",X"AA",X"AA",X"AA",X"BA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"5E",X"AE",X"5E",X"BE",X"5E",X"BE",X"5E",X"BA",X"5E",X"FA",X"5E",X"FA",X"7E",X"FA",X"7A",X"EB", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"54",X"00",X"57",X"80", + X"AA",X"00",X"A8",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"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"AF",X"AA",X"80", + X"02",X"AA",X"06",X"AA",X"0A",X"AA",X"1A",X"AA",X"2A",X"AA",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"05",X"AA",X"15",X"A8",X"15",X"A8",X"17",X"A0",X"67",X"A0",X"AB",X"81",X"AA",X"82",X"AA", + X"AA",X"80",X"AA",X"80",X"AA",X"80",X"AA",X"01",X"AA",X"01",X"AA",X"01",X"AA",X"05",X"AA",X"05", + X"3E",X"A8",X"3A",X"A8",X"3A",X"A0",X"FA",X"A0",X"EA",X"A0",X"EA",X"A0",X"EA",X"80",X"EA",X"80", + X"C0",X"3E",X"00",X"3E",X"00",X"FA",X"00",X"FA",X"03",X"EA",X"03",X"AA",X"0F",X"AA",X"0E",X"A8", + X"AF",X"BF",X"BE",X"BE",X"AA",X"D5",X"AB",X"54",X"AD",X"43",X"AD",X"0F",X"B4",X"3F",X"C0",X"3F", + X"AA",X"BA",X"BA",X"FF",X"BA",X"FB",X"FA",X"EB",X"FB",X"EB",X"EB",X"EB",X"EB",X"AF",X"EB",X"AF", + X"00",X"EA",X"00",X"EA",X"00",X"EA",X"00",X"EA",X"00",X"EA",X"00",X"FA",X"00",X"3A",X"00",X"3A", + X"00",X"EA",X"00",X"EA",X"00",X"EA",X"00",X"EA",X"00",X"EA",X"00",X"EA",X"00",X"EA",X"00",X"EA", + X"00",X"0C",X"00",X"0D",X"00",X"0A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"FA",X"00",X"EA", + X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"0F", + X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"03",X"C0",X"03",X"00",X"0F",X"FC",X"3F",X"0C", + X"0F",X"00",X"03",X"00",X"03",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"FE",X"C0",X"32",X"3C",X"02", + X"AF",X"EA",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"AA", + X"5D",X"A9",X"7F",X"A5",X"FF",X"A5",X"FF",X"E5",X"FF",X"E5",X"FF",X"FC",X"FF",X"FF",X"BF",X"EA", + X"2A",X"6A",X"2A",X"6A",X"E9",X"6A",X"E9",X"AA",X"F9",X"A9",X"79",X"A9",X"7D",X"A9",X"5D",X"A9", + X"05",X"6A",X"05",X"6A",X"15",X"6A",X"16",X"6A",X"1A",X"6A",X"1A",X"6A",X"2A",X"6A",X"2A",X"6A", + X"81",X"55",X"81",X"55",X"81",X"55",X"01",X"55",X"01",X"55",X"05",X"56",X"05",X"5A",X"05",X"6A", + X"BF",X"EF",X"BF",X"AF",X"FE",X"BF",X"FA",X"17",X"E8",X"17",X"A8",X"57",X"A0",X"55",X"A0",X"55", + X"83",X"AF",X"F3",X"FF",X"F3",X"FF",X"EF",X"FF",X"EF",X"FF",X"EF",X"FF",X"AF",X"FF",X"BF",X"FB", + X"0E",X"AF",X"0E",X"AF",X"0E",X"AF",X"0E",X"AF",X"0E",X"AF",X"0E",X"AF",X"0E",X"AF",X"0E",X"AF", + X"02",X"AA",X"42",X"A5",X"56",X"57",X"81",X"6B",X"83",X"AB",X"83",X"AB",X"03",X"AF",X"0E",X"AF", + X"00",X"FE",X"02",X"FE",X"02",X"EA",X"02",X"AA",X"02",X"AA",X"02",X"AA",X"0A",X"AA",X"0A",X"AA", + X"C0",X"FE",X"C0",X"FE",X"C0",X"FE",X"C0",X"FE",X"C0",X"FE",X"00",X"FE",X"00",X"FE",X"00",X"FE", + X"F0",X"FE",X"F0",X"FE",X"C0",X"FE",X"C0",X"FE",X"C0",X"FE",X"C0",X"FE",X"C0",X"FE",X"C0",X"FE", + X"30",X"0A",X"30",X"0A",X"30",X"0A",X"30",X"0A",X"30",X"2A",X"30",X"FE",X"30",X"FE",X"30",X"FE", + X"03",X"FA",X"03",X"FA",X"00",X"FA",X"C0",X"2A",X"C0",X"0A",X"F0",X"0A",X"30",X"0A",X"30",X"0A", + X"3F",X"EA",X"3F",X"FA",X"3F",X"FA",X"3F",X"FA",X"0F",X"FA",X"0F",X"FA",X"0F",X"FA",X"03",X"FA", + X"AA",X"A0",X"AA",X"A8",X"2A",X"AA",X"3E",X"AA",X"3F",X"AA",X"3F",X"AA",X"3F",X"EA",X"3F",X"EA", + X"AA",X"AA",X"AA",X"BE",X"AA",X"FE",X"AB",X"F2",X"AF",X"E0",X"AA",X"A0",X"AA",X"A0",X"AA",X"A0", + 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"40",X"AA",X"02",X"AA",X"02",X"AA",X"02",X"AA",X"0E",X"AA",X"3E",X"AA",X"FA",X"AA",X"AA",X"AA", + X"40",X"AA",X"40",X"AA",X"40",X"AA",X"40",X"AA",X"40",X"AA",X"40",X"AA",X"40",X"AA",X"40",X"AA", + X"40",X"AA",X"50",X"AA",X"90",X"AA",X"90",X"AA",X"90",X"AA",X"90",X"AA",X"90",X"AA",X"50",X"AA", + X"FE",X"AA",X"FE",X"AA",X"7E",X"AA",X"7E",X"AA",X"7E",X"AA",X"4F",X"AA",X"43",X"AA",X"40",X"AA", + X"FF",X"FF",X"EA",X"FF",X"EA",X"AF",X"FA",X"AB",X"FA",X"AB",X"FE",X"AA",X"FE",X"AA",X"FE",X"AA", + X"55",X"EA",X"55",X"F9",X"57",X"F9",X"5F",X"FE",X"5F",X"FE",X"7F",X"FF",X"7F",X"FF",X"FF",X"FF", + X"4E",X"9A",X"4F",X"9A",X"57",X"5A",X"57",X"5A",X"57",X"6A",X"57",X"6A",X"57",X"6A",X"57",X"EA", + X"E1",X"55",X"E1",X"55",X"E1",X"55",X"E2",X"55",X"8A",X"95",X"8A",X"99",X"8A",X"9A",X"4A",X"9A", + X"5A",X"15",X"78",X"15",X"F8",X"15",X"F8",X"55",X"E8",X"55",X"E8",X"55",X"E8",X"55",X"E1",X"55", + X"AA",X"A0",X"AA",X"A0",X"AA",X"83",X"AA",X"83",X"AA",X"8F",X"AA",X"87",X"AA",X"05",X"AA",X"05", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"AA",X"A8",X"AA",X"A8",X"AA",X"A0",X"AA",X"A0", + X"AA",X"AF",X"AA",X"AF",X"AA",X"AF",X"AA",X"AF",X"AA",X"AB",X"AA",X"AB",X"AA",X"AB",X"AA",X"AA", + X"AA",X"A0",X"AA",X"82",X"AA",X"82",X"AA",X"82",X"AA",X"82",X"AA",X"8F",X"AA",X"BF",X"AA",X"BF", + X"AB",X"F2",X"AA",X"FF",X"AA",X"FF",X"AA",X"BF",X"AA",X"BC",X"AA",X"A0",X"AA",X"A0",X"AA",X"A0", + X"80",X"EA",X"83",X"FC",X"83",X"F2",X"8E",X"B2",X"AE",X"82",X"AF",X"82",X"AF",X"82",X"AB",X"C2", + X"00",X"AA",X"02",X"2A",X"08",X"2A",X"28",X"2A",X"A0",X"AA",X"A0",X"AA",X"80",X"AA",X"80",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"2A",X"AA",X"0A",X"AA", + X"FE",X"AA",X"EA",X"AA",X"EA",X"AA",X"EA",X"AA",X"EA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"68",X"02",X"68",X"02",X"A8",X"0A",X"A0",X"2A",X"A0",X"2A",X"80",X"AA",X"C0",X"AA",X"C2",X"AA", + X"9A",X"02",X"9A",X"02",X"9A",X"02",X"9A",X"02",X"58",X"02",X"68",X"02",X"68",X"02",X"68",X"02", + X"55",X"FE",X"55",X"FE",X"55",X"FE",X"55",X"FE",X"55",X"FE",X"55",X"FE",X"55",X"FE",X"99",X"3E", + X"5F",X"EA",X"5F",X"FA",X"5F",X"FA",X"57",X"FA",X"57",X"FA",X"57",X"FA",X"57",X"FE",X"55",X"FE", + X"AA",X"AA",X"AA",X"AA",X"FA",X"AA",X"FF",X"AA",X"FF",X"AA",X"FF",X"AA",X"FF",X"EA",X"7F",X"EA", + X"C2",X"AA",X"02",X"AA",X"0A",X"AA",X"0A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"AA",X"AA", + X"FF",X"CA",X"FF",X"2A",X"FF",X"2A",X"FC",X"2A",X"FC",X"AA",X"F0",X"AA",X"F0",X"AA",X"C2",X"AA", + X"FC",X"AA",X"F2",X"AA",X"A2",X"AA",X"A2",X"AA",X"A2",X"AA",X"A2",X"AA",X"A2",X"8A",X"EF",X"CA", + X"AA",X"AA",X"CA",X"AA",X"CA",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"AA",X"AA",X"EB",X"AA", + X"55",X"55",X"55",X"55",X"5D",X"55",X"55",X"55",X"75",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"AA",X"AA",X"AA",X"AA",X"AE",X"AA",X"AA",X"AA",X"BA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + 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"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"6A",X"55",X"6A",X"55",X"AA",X"55",X"AA",X"56",X"AA",X"5A",X"AA",X"6A",X"AA",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"56",X"55",X"5A", + X"AA",X"BF",X"AA",X"BF",X"AA",X"FF",X"AA",X"FF",X"AB",X"FF",X"AF",X"FF",X"BF",X"FF",X"FF",X"FF", + X"6A",X"AA",X"6A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AB",X"AA",X"AB",X"AA",X"AF", + X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"6A",X"AA", + X"AA",X"AA",X"6A",X"AA",X"6A",X"AA",X"6A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA", + X"BF",X"FF",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"AF",X"FF",X"AF",X"FF",X"AF",X"FF",X"AF",X"FF",X"AF",X"FF",X"AF",X"FF",X"BF",X"FF",X"BF",X"FF", + X"FF",X"FF",X"BF",X"FF",X"BF",X"FF",X"BF",X"FF",X"AF",X"FF",X"AF",X"FF",X"AF",X"FF",X"AF",X"FF", + X"FA",X"AA",X"FA",X"AA",X"FA",X"AA",X"FA",X"AA",X"EA",X"AA",X"EA",X"AA",X"EA",X"AA",X"AA",X"AA", + X"FE",X"AA",X"FE",X"AA",X"FE",X"AA",X"FE",X"AA",X"FE",X"AA",X"FE",X"AA",X"FE",X"AA",X"FE",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"55",X"55",X"55",X"55", + X"6A",X"FF",X"5A",X"FF",X"5A",X"FF",X"5A",X"BF",X"56",X"BF",X"56",X"AF",X"56",X"AF",X"55",X"AB", + X"AF",X"FF",X"AB",X"FF",X"6B",X"FF",X"6B",X"FF",X"6B",X"FF",X"6B",X"FF",X"6B",X"FF",X"6B",X"FF", + X"AF",X"FF",X"AF",X"FF",X"AF",X"FF",X"AF",X"FF",X"AF",X"FF",X"AF",X"FF",X"AF",X"FF",X"AF",X"FF", + X"55",X"55",X"55",X"55",X"6D",X"55",X"AF",X"55",X"AF",X"D5",X"AF",X"F5",X"AF",X"FD",X"AF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"BF",X"FF",X"AF",X"FF",X"AB",X"FF",X"6A",X"FF",X"5A",X"BF",X"56",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"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"56",X"A5",X"56",X"A5",X"56",X"A5",X"DA",X"A5",X"5A",X"A5",X"6A",X"95",X"6A",X"95",X"AA",X"55", + X"55",X"6A",X"55",X"6A",X"55",X"AA",X"55",X"A9",X"55",X"A9",X"55",X"A9",X"55",X"A9",X"55",X"A9", + X"55",X"AB",X"55",X"AB",X"55",X"AB",X"56",X"AB",X"56",X"AB",X"56",X"AF",X"5A",X"AF",X"5A",X"AF", + X"55",X"6A",X"55",X"6A",X"55",X"6A",X"55",X"6A",X"55",X"6A",X"55",X"6A",X"55",X"AB",X"55",X"AB", + X"FF",X"FD",X"FF",X"F5",X"FF",X"D5",X"FF",X"55",X"FD",X"55",X"F5",X"55",X"D5",X"55",X"55",X"55", + X"FF",X"FD",X"FF",X"F5",X"FF",X"D5",X"FF",X"55",X"FD",X"55",X"F5",X"55",X"D5",X"55",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"FF",X"FF", + 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"FF",X"AA",X"FF",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"FF",X"AA",X"FF",X"AA",X"FE",X"AA",X"FE",X"AA",X"FA",X"AA",X"FA",X"AA",X"EA",X"AA",X"AA",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"AA",X"FF",X"AA",X"FF",X"AA", + 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"FA",X"FF",X"FA", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"51",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"75",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"54",X"55",X"55",X"55",X"55",X"55", + X"AA",X"FF",X"AB",X"FF",X"AB",X"FF",X"AB",X"FF",X"AF",X"FF",X"AF",X"FF",X"BF",X"FF",X"FF",X"FF", + X"AA",X"BF",X"AA",X"BF",X"AA",X"BF",X"AA",X"BF",X"AA",X"BF",X"AA",X"FF",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"AF",X"AA",X"AF",X"AA",X"AF",X"AA",X"AF", + X"FF",X"AA",X"FE",X"AA",X"FE",X"AA",X"FE",X"AA",X"FA",X"AA",X"FA",X"AA",X"EA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",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"55",X"5A",X"55",X"5A",X"55",X"5A",X"55",X"5A",X"55",X"5A",X"55",X"5A",X"55",X"5A",X"55",X"5A", + 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"55",X"5A",X"55",X"5A",X"55",X"5A",X"55",X"5A",X"55",X"5A",X"55",X"5A",X"55",X"5A",X"55",X"5A", + X"FF",X"FA",X"FF",X"FA",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"A5",X"FF",X"A5",X"FF",X"A5",X"FF",X"A5",X"FF",X"A5",X"FF",X"A5",X"FF",X"A5",X"FF",X"A5", + 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"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"0A",X"AA", + X"BF",X"77",X"AB",X"DF",X"AF",X"FF",X"83",X"FF",X"A0",X"00",X"00",X"00",X"A8",X"00",X"AA",X"FF", + X"EA",X"AA",X"FE",X"AA",X"AA",X"AA",X"2A",X"AA",X"02",X"AA",X"2A",X"AA",X"AA",X"A8",X"FA",X"A8", + X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"50",X"00",X"50",X"00",X"54",X"00",X"55",X"00", + X"02",X"AA",X"00",X"AA",X"00",X"2A",X"00",X"0A",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00", + X"AF",X"FF",X"BF",X"FF",X"AF",X"FF",X"A8",X"00",X"AA",X"00",X"2A",X"82",X"02",X"A2",X"00",X"00", + X"FE",X"A8",X"FA",X"A0",X"EA",X"A0",X"AA",X"80",X"AA",X"80",X"A8",X"00",X"80",X"00",X"00",X"00", + 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"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"54",X"00",X"55",X"40",X"55",X"50",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"50",X"05", + X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"05",X"55",X"05",X"55",X"01",X"55",X"00",X"55", + X"00",X"05",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"01",X"55",X"00",X"15",X"00",X"05",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"05",X"50", + 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"65",X"55",X"59",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56", + X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"56",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",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"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55", + X"55",X"65",X"55",X"65",X"55",X"65",X"55",X"65",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"56",X"55",X"56",X"55",X"56",X"55",X"56", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"65",X"55",X"65",X"55",X"65", + X"55",X"55",X"55",X"65",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55", + X"95",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"59",X"56",X"55", + X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"95",X"65",X"55",X"55",X"55",X"55",X"55", + X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55", + X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"95", + X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56", + X"03",X"0C",X"21",X"2C",X"89",X"A0",X"AD",X"80",X"89",X"A0",X"21",X"2C",X"03",X"0C",X"00",X"00", + X"FF",X"FF",X"D5",X"55",X"D5",X"55",X"D5",X"55",X"D5",X"55",X"D5",X"55",X"D5",X"55",X"D5",X"55", + X"55",X"D5",X"55",X"F5",X"55",X"75",X"55",X"7D",X"55",X"5D",X"55",X"5F",X"55",X"55",X"55",X"55", + X"5D",X"55",X"5D",X"55",X"5D",X"55",X"5D",X"55",X"5F",X"55",X"57",X"55",X"57",X"55",X"57",X"D5", + X"55",X"F5",X"55",X"D5",X"55",X"D5",X"55",X"D5",X"55",X"D5",X"D7",X"D5",X"FF",X"55",X"55",X"55", + X"55",X"75",X"55",X"75",X"55",X"75",X"55",X"75",X"55",X"75",X"55",X"75",X"55",X"75",X"55",X"75", + X"FF",X"FF",X"FF",X"FF",X"FF",X"C0",X"00",X"F0",X"00",X"30",X"00",X"30",X"00",X"FF",X"FF",X"F5", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"F3",X"FC",X"7B",X"FE",X"CC",X"FF",X"FF",X"FF",X"FC",X"FF",X"F7",X"FF",X"CF",X"FF",X"FF", + X"CF",X"FF",X"FD",X"F7",X"CC",X"DF",X"FF",X"BD",X"FF",X"FF",X"F7",X"7B",X"FC",X"CF",X"FF",X"FF", + X"CF",X"FF",X"DF",X"FF",X"3C",X"CF",X"F7",X"BF",X"EF",X"DF",X"73",X"FF",X"FE",X"CF",X"5F",X"FF", + X"FF",X"FF",X"CF",X"FF",X"FF",X"FF",X"B7",X"FF",X"CF",X"FF",X"BC",X"FF",X"DF",X"7F",X"FF",X"3F", + X"3F",X"FF",X"FF",X"FF",X"BF",X"F3",X"DF",X"FF",X"FF",X"FF",X"FF",X"FE",X"B3",X"F3",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3",X"FF",X"FF",X"FF",X"FF",X"FF",X"F3", + X"FF",X"FF",X"FC",X"FF",X"FF",X"FF",X"FD",X"DF",X"FF",X"F3",X"FF",X"DF",X"FF",X"FF",X"FF",X"FB", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"DF",X"FD",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"04",X"55",X"C0",X"55",X"F0",X"45",X"FC",X"01",X"F0",X"01",X"FF",X"00",X"FF",X"C0",X"FF",X"FF", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"51",X"55",X"40",X"55",X"41",X"55",X"15",X"55", + X"51",X"43",X"51",X"0F",X"40",X"3F",X"00",X"0F",X"03",X"CF",X"0F",X"FF",X"3F",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"45",X"55",X"41",X"55",X"11",X"55",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"59",X"55",X"59",X"55",X"59",X"55",X"59",X"55", + X"55",X"55",X"55",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"56",X"55",X"59",X"55", + X"55",X"56",X"55",X"56",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/rom/journey_bg_bits_2.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/rom/journey_bg_bits_2.vhd new file mode 100644 index 00000000..1f1a7117 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/rom/journey_bg_bits_2.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity journey_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 journey_bg_bits_2 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0A",X"AA",X"42",X"AA",X"52",X"AA",X"52",X"AA",X"54",X"AA",X"00",X"2A",X"00",X"2A",X"AA",X"2A", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"2A",X"AA",X"2A",X"AA",X"0A",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"56",X"AA",X"56",X"AA",X"5A",X"AA",X"6A",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"56",X"55",X"56",X"55",X"5A",X"55",X"5A",X"55",X"6A",X"55",X"6A",X"55",X"AA", + X"80",X"0A",X"A0",X"0A",X"A8",X"2A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"82",X"0A",X"82",X"0A",X"82",X"0A",X"82",X"0A",X"82",X"0A",X"82",X"0A",X"82",X"0A",X"82",X"0A", + X"A8",X"2A",X"A0",X"2A",X"A0",X"0A",X"80",X"0A",X"82",X"0A",X"82",X"0A",X"82",X"0A",X"82",X"0A", + X"C5",X"55",X"C5",X"55",X"C5",X"55",X"C5",X"55",X"C5",X"54",X"05",X"40",X"05",X"00",X"00",X"2A", + X"05",X"4A",X"05",X"42",X"C5",X"42",X"C5",X"50",X"C5",X"50",X"C5",X"54",X"C5",X"54",X"C5",X"55", + X"0A",X"AA",X"02",X"AA",X"02",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"2A",X"05",X"2A",X"05",X"0A", + X"5A",X"AA",X"6A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"0A",X"AA", + X"D5",X"AA",X"D5",X"AA",X"D6",X"AA",X"5A",X"AA",X"6A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA", + X"D5",X"55",X"D5",X"55",X"D5",X"55",X"D5",X"55",X"D5",X"55",X"D5",X"56",X"D5",X"5A",X"D5",X"6A", + X"F6",X"6A",X"F6",X"A5",X"F6",X"55",X"F5",X"55",X"F5",X"55",X"F5",X"55",X"F5",X"55",X"F5",X"55", + X"F6",X"66",X"F6",X"66",X"F6",X"66",X"F6",X"66",X"F6",X"66",X"F6",X"66",X"F6",X"6A",X"F6",X"6A", + X"00",X"4F",X"01",X"43",X"35",X"43",X"D6",X"43",X"95",X"40",X"55",X"60",X"55",X"A8",X"5A",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"03",X"00",X"03",X"00",X"0F",X"00",X"0F", + X"AA",X"00",X"8A",X"00",X"0A",X"00",X"0A",X"00",X"0A",X"00",X"2A",X"00",X"58",X"00",X"58",X"00", + X"0B",X"55",X"AA",X"D5",X"AA",X"00",X"56",X"00",X"56",X"00",X"56",X"00",X"5A",X"00",X"6A",X"00", + X"05",X"57",X"05",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55", + X"5F",X"FF",X"57",X"FF",X"57",X"FF",X"55",X"FF",X"55",X"7F",X"15",X"7F",X"15",X"5F",X"05",X"5F", + X"FF",X"FE",X"FF",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"FF",X"7F",X"FF",X"5F",X"FF", + X"65",X"96",X"E5",X"96",X"F5",X"96",X"FD",X"96",X"FF",X"96",X"FF",X"D6",X"FF",X"D6",X"FF",X"F6", + X"65",X"96",X"65",X"96",X"65",X"96",X"65",X"96",X"65",X"96",X"65",X"96",X"65",X"96",X"65",X"96", + X"55",X"55",X"55",X"55",X"15",X"55",X"00",X"25",X"00",X"A2",X"AA",X"A6",X"AA",X"96",X"6A",X"96", + X"56",X"C0",X"95",X"F0",X"95",X"7C",X"95",X"6F",X"A5",X"56",X"E9",X"55",X"FD",X"55",X"FF",X"D5", + X"05",X"00",X"14",X"00",X"50",X"00",X"50",X"55",X"51",X"55",X"55",X"BC",X"55",X"F0",X"55",X"C0", + X"55",X"55",X"55",X"56",X"55",X"5A",X"56",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"55",X"01",X"55", + X"00",X"00",X"00",X"00",X"A0",X"0A",X"AA",X"AA",X"A5",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + 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"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"01",X"00",X"01",X"00",X"55",X"00",X"55",X"01",X"50",X"05",X"50",X"15",X"40",X"55",X"40", + X"01",X"5F",X"01",X"57",X"00",X"57",X"00",X"55",X"00",X"15",X"00",X"15",X"00",X"05",X"00",X"05", + X"57",X"FF",X"57",X"FF",X"57",X"FF",X"56",X"FF",X"55",X"FF",X"15",X"7F",X"05",X"7F",X"05",X"6F", + X"FF",X"59",X"FF",X"59",X"FF",X"D9",X"FF",X"D9",X"7F",X"F9",X"7F",X"FD",X"6F",X"FD",X"5F",X"FF", + X"96",X"A1",X"D6",X"A0",X"D6",X"A0",X"F6",X"A8",X"F6",X"6A",X"FE",X"5A",X"FE",X"5A",X"FE",X"59", + X"FF",X"FF",X"55",X"56",X"55",X"5A",X"55",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"5F",X"AA",X"5F",X"AA",X"5F",X"AA",X"5A",X"AA",X"A9",X"56",X"55",X"FF",X"57",X"FF",X"7F",X"FF", + X"55",X"54",X"55",X"55",X"55",X"55",X"5F",X"55",X"5F",X"D5",X"5F",X"FD",X"5F",X"FF",X"5F",X"EA", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"AA",X"AA",X"00",X"00",X"15",X"40",X"55",X"50", + X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"02",X"AA",X"AA",X"A5",X"A5",X"55",X"55",X"55", + X"00",X"05",X"00",X"15",X"00",X"55",X"05",X"55",X"15",X"55",X"55",X"55",X"55",X"40",X"54",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"54",X"55",X"50", + X"55",X"57",X"55",X"57",X"55",X"56",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"55",X"FF",X"55",X"7F",X"55",X"7F",X"55",X"7F",X"55",X"6F",X"55",X"5F",X"55",X"5F", + X"FF",X"57",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"05",X"55",X"14",X"01",X"10",X"01",X"10",X"01",X"10",X"01",X"11",X"55",X"11",X"55",X"00",X"00", + X"00",X"00",X"00",X"01",X"15",X"55",X"15",X"55",X"10",X"01",X"00",X"00",X"00",X"00",X"00",X"00", + X"11",X"41",X"11",X"41",X"10",X"41",X"10",X"41",X"10",X"41",X"10",X"55",X"10",X"55",X"00",X"00", + X"11",X"55",X"10",X"41",X"10",X"41",X"10",X"41",X"10",X"01",X"10",X"05",X"10",X"05",X"00",X"00", + X"00",X"40",X"15",X"55",X"00",X"40",X"00",X"40",X"00",X"40",X"05",X"40",X"05",X"40",X"00",X"00", + X"10",X"55",X"10",X"41",X"10",X"41",X"10",X"41",X"10",X"41",X"11",X"45",X"11",X"45",X"00",X"00", + X"10",X"55",X"10",X"41",X"10",X"41",X"10",X"41",X"10",X"41",X"11",X"55",X"11",X"55",X"00",X"00", + X"14",X"00",X"11",X"00",X"11",X"40",X"10",X"55",X"10",X"15",X"10",X"00",X"10",X"00",X"00",X"00", + X"15",X"55",X"10",X"41",X"10",X"41",X"10",X"41",X"10",X"41",X"11",X"55",X"11",X"55",X"00",X"00", + X"15",X"55",X"15",X"55",X"10",X"40",X"10",X"40",X"10",X"40",X"10",X"40",X"11",X"40",X"00",X"00", + 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"F9",X"FF",X"D5", + X"FA",X"95",X"F9",X"55",X"F5",X"55",X"D5",X"55",X"55",X"56",X"55",X"6A",X"57",X"EA",X"5F",X"EA", + X"AA",X"99",X"AA",X"A5",X"EA",X"95",X"EA",X"95",X"EA",X"AA",X"FA",X"A0",X"FA",X"A0",X"FA",X"A1", + X"55",X"55",X"55",X"54",X"55",X"40",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",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"05",X"01",X"55",X"15",X"55", + X"55",X"40",X"50",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"95",X"55",X"A5",X"55",X"A9",X"55",X"AA",X"95",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"15",X"55",X"15",X"55",X"10",X"40",X"10",X"40",X"10",X"40",X"11",X"55",X"11",X"55",X"00",X"00", + X"15",X"15",X"11",X"51",X"10",X"41",X"10",X"41",X"10",X"41",X"11",X"55",X"11",X"55",X"00",X"00", + X"10",X"05",X"10",X"05",X"10",X"05",X"10",X"05",X"10",X"05",X"11",X"55",X"11",X"54",X"00",X"00", + X"05",X"54",X"14",X"05",X"10",X"01",X"10",X"01",X"10",X"01",X"11",X"55",X"11",X"55",X"00",X"00", + X"10",X"01",X"10",X"01",X"10",X"41",X"10",X"41",X"10",X"41",X"11",X"55",X"11",X"55",X"00",X"00", + X"10",X"00",X"10",X"00",X"10",X"40",X"10",X"40",X"10",X"40",X"11",X"55",X"11",X"55",X"00",X"00", + X"10",X"55",X"10",X"41",X"10",X"41",X"10",X"01",X"10",X"01",X"11",X"55",X"11",X"54",X"00",X"00", + X"15",X"55",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"40",X"05",X"55",X"05",X"55",X"00",X"00", + X"00",X"00",X"00",X"00",X"10",X"01",X"15",X"55",X"15",X"55",X"10",X"01",X"00",X"00",X"00",X"00", + X"00",X"00",X"05",X"55",X"05",X"55",X"00",X"01",X"00",X"01",X"00",X"05",X"00",X"05",X"00",X"00", + X"14",X"01",X"05",X"05",X"01",X"54",X"00",X"50",X"00",X"10",X"05",X"55",X"05",X"55",X"00",X"00", + X"00",X"05",X"00",X"05",X"00",X"01",X"00",X"01",X"00",X"01",X"05",X"55",X"05",X"55",X"00",X"00", + X"15",X"55",X"05",X"00",X"01",X"50",X"01",X"50",X"05",X"00",X"15",X"55",X"15",X"55",X"00",X"00", + X"15",X"55",X"00",X"15",X"01",X"50",X"15",X"00",X"10",X"00",X"11",X"55",X"11",X"55",X"00",X"00", + X"15",X"55",X"10",X"01",X"10",X"01",X"10",X"01",X"10",X"01",X"11",X"55",X"11",X"55",X"00",X"00", + X"15",X"40",X"10",X"40",X"10",X"40",X"10",X"40",X"10",X"40",X"11",X"55",X"11",X"55",X"00",X"00", + X"15",X"55",X"10",X"14",X"10",X"15",X"10",X"01",X"10",X"01",X"11",X"55",X"11",X"55",X"00",X"00", + X"15",X"45",X"10",X"55",X"10",X"50",X"10",X"40",X"10",X"40",X"11",X"55",X"11",X"55",X"00",X"00", + X"10",X"55",X"10",X"55",X"10",X"41",X"10",X"41",X"10",X"41",X"11",X"45",X"11",X"45",X"00",X"00", + X"00",X"00",X"10",X"00",X"10",X"00",X"15",X"55",X"15",X"55",X"10",X"00",X"10",X"00",X"00",X"00", + X"15",X"55",X"00",X"01",X"00",X"01",X"00",X"01",X"00",X"01",X"05",X"55",X"05",X"55",X"00",X"00", + X"15",X"50",X"00",X"14",X"00",X"05",X"00",X"15",X"00",X"54",X"05",X"50",X"05",X"40",X"00",X"00", + X"15",X"55",X"00",X"14",X"01",X"50",X"01",X"50",X"00",X"14",X"05",X"55",X"05",X"55",X"00",X"00", + X"14",X"05",X"05",X"14",X"01",X"50",X"00",X"40",X"01",X"50",X"05",X"14",X"00",X"05",X"00",X"00", + X"14",X"00",X"05",X"00",X"01",X"40",X"00",X"55",X"01",X"55",X"05",X"40",X"05",X"00",X"00",X"00", + X"10",X"01",X"11",X"01",X"11",X"41",X"10",X"41",X"10",X"51",X"10",X"15",X"10",X"05",X"00",X"00", + X"FD",X"55",X"F5",X"5F",X"D5",X"7F",X"55",X"5F",X"55",X"5F",X"65",X"7F",X"A5",X"7F",X"95",X"5F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F5",X"FF",X"D5",X"FF",X"55", + X"00",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"00",X"00",X"00",X"15",X"05",X"55",X"55",X"55",X"55",X"55",X"55",X"40",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"40",X"50",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"00",X"05",X"00",X"05",X"00",X"05",X"00",X"05",X"00",X"05",X"00",X"15",X"40",X"15",X"54",X"15", + X"55",X"56",X"00",X"16",X"00",X"1A",X"01",X"5A",X"55",X"AA",X"56",X"AA",X"AA",X"AA",X"AA",X"AA", + X"57",X"FF",X"55",X"FF",X"55",X"7F",X"55",X"5F",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"56", + X"00",X"00",X"00",X"02",X"02",X"AA",X"AA",X"AB",X"AB",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"55",X"55",X"55",X"55",X"55",X"54",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"50",X"00",X"00", + X"75",X"55",X"75",X"55",X"75",X"55",X"D5",X"55",X"D5",X"55",X"D5",X"55",X"55",X"55",X"55",X"55", + X"D5",X"55",X"D5",X"55",X"F5",X"55",X"75",X"55",X"75",X"55",X"75",X"55",X"75",X"55",X"75",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"05",X"55",X"55",X"55", + X"95",X"00",X"A5",X"40",X"A9",X"55",X"AA",X"55",X"AA",X"95",X"AA",X"A5",X"AA",X"AA",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"15",X"55",X"05",X"55",X"01",X"55",X"40",X"55",X"50",X"15",X"94",X"05", + X"0F",X"FF",X"3F",X"FF",X"3F",X"FF",X"57",X"FF",X"55",X"FF",X"55",X"5F",X"55",X"57",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"AA",X"AA",X"AA",X"AF",X"AF",X"FF",X"5F",X"FF", + X"01",X"54",X"00",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"5F",X"FF",X"57",X"FD",X"55",X"F5",X"55",X"55",X"55",X"55",X"15",X"55",X"15",X"55",X"05",X"55", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"57",X"F5",X"5F",X"7F",X"FF",X"7F",X"FF", + X"55",X"5F",X"55",X"57",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"57",X"55",X"57",X"55", + X"00",X"55",X"01",X"55",X"05",X"55",X"15",X"D5",X"57",X"F5",X"5F",X"FD",X"5F",X"FF",X"7F",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"15", + X"02",X"A9",X"2A",X"55",X"A9",X"41",X"A5",X"01",X"A4",X"01",X"94",X"00",X"54",X"00",X"55",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"55", + X"40",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"00",X"05", + X"54",X"05",X"54",X"05",X"54",X"15",X"50",X"15",X"50",X"15",X"50",X"15",X"40",X"15",X"40",X"15", + X"55",X"50",X"55",X"50",X"55",X"40",X"55",X"40",X"55",X"40",X"55",X"40",X"55",X"01",X"55",X"01", + X"55",X"50",X"55",X"50",X"55",X"50",X"55",X"50",X"55",X"50",X"55",X"50",X"55",X"50",X"55",X"50", + X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"2A",X"0A",X"AA",X"2A",X"AA",X"AA",X"80",X"00",X"0A", + X"40",X"00",X"40",X"00",X"54",X"00",X"55",X"00",X"55",X"40",X"55",X"50",X"55",X"55",X"55",X"55", + X"55",X"40",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"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"54",X"55",X"54",X"55",X"50",X"55",X"50",X"55",X"40", + 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"AA",X"A0",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"02",X"00",X"0A", + 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"55",X"00",X"54",X"00",X"54",X"00",X"55",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"55",X"55",X"55",X"54",X"55",X"50", + 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"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"01",X"00",X"05",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"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"55",X"5F",X"55",X"57",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"A8",X"00",X"AA",X"80", + X"05",X"55",X"00",X"55",X"00",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"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"80",X"00",X"A0",X"00",X"AA",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"55",X"55",X"55",X"55",X"15",X"55",X"01",X"55",X"00",X"55",X"00",X"15",X"00",X"05",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"A8",X"00",X"AA",X"00",X"AA",X"80", + X"00",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"55",X"55",X"55",X"55",X"55",X"55",X"15",X"55",X"05",X"55",X"01",X"55",X"00",X"55",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"AA",X"80",X"AA",X"A0",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"80",X"00",X"80",X"00",X"A0",X"00",X"A0",X"00",X"AA",X"00",X"AA",X"80", + X"15",X"55",X"15",X"55",X"05",X"55",X"05",X"55",X"01",X"55",X"00",X"55",X"00",X"55",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"A8",X"00",X"A8",X"00",X"AA",X"00",X"AA",X"00",X"AA",X"80",X"AA",X"80",X"AA",X"A0",X"AA",X"A0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"A0",X"00", + X"00",X"05",X"00",X"05",X"00",X"05",X"00",X"05",X"00",X"01",X"00",X"01",X"00",X"00",X"00",X"00", + X"00",X"55",X"00",X"55",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"01",X"55",X"00",X"55",X"00",X"55",X"00",X"55",X"00",X"55",X"00",X"55",X"00",X"55",X"00",X"55", + X"05",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55",X"01",X"55", + X"AA",X"A8",X"AA",X"A8",X"AA",X"A8",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"80",X"AA",X"80",X"AA",X"80",X"AA",X"80",X"AA",X"A0",X"AA",X"A0",X"AA",X"A0",X"AA",X"A0", + X"AA",X"00",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"AA",X"80",X"AA",X"80", + X"A8",X"00",X"A8",X"00",X"A8",X"00",X"A8",X"00",X"A8",X"00",X"A8",X"00",X"A8",X"00",X"A8",X"00", + X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"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"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"15",X"54",X"50",X"05",X"44",X"11",X"44",X"11",X"44",X"11",X"45",X"51",X"50",X"05",X"15",X"54", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"D5",X"55",X"B5",X"55",X"AD",X"55",X"B5",X"55",X"AF",X"55",X"AA",X"D5",X"AA",X"BF", + X"55",X"57",X"55",X"5E",X"55",X"7A",X"55",X"5E",X"57",X"DE",X"5E",X"BA",X"7A",X"A2",X"EA",X"AA", + X"AA",X"AA",X"5A",X"AA",X"55",X"AA",X"55",X"6A",X"55",X"5A",X"55",X"56",X"55",X"56",X"55",X"55", + X"EA",X"FB",X"BB",X"AE",X"AE",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"AB",X"AA",X"AE",X"AA",X"BA",X"AA",X"EA",X"AA",X"BA",X"AA",X"BA",X"AB",X"EA",X"BE",X"AA", + X"EA",X"AA",X"BA",X"AA",X"AE",X"AA",X"AB",X"AA",X"AE",X"AA",X"BA",X"AA",X"EA",X"AA",X"EA",X"AA", + X"EA",X"AA",X"AE",X"AA",X"AB",X"AA",X"AE",X"AA",X"BA",X"AA",X"EA",X"AA",X"BA",X"AA",X"BA",X"AA", + X"EA",X"AA",X"BA",X"AA",X"AA",X"AA",X"AE",X"AA",X"AB",X"AA",X"AA",X"EA",X"AA",X"AE",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"AA",X"AA",X"AA",X"AA", + X"AA",X"90",X"AA",X"40",X"AA",X"40",X"A9",X"00",X"A4",X"00",X"90",X"00",X"40",X"00",X"40",X"00", + X"A9",X"00",X"A9",X"00",X"A9",X"00",X"A9",X"00",X"A9",X"00",X"A9",X"00",X"A9",X"00",X"A9",X"00", + X"AA",X"40",X"AA",X"40",X"AA",X"40",X"AA",X"40",X"A9",X"00",X"A9",X"00",X"A9",X"00",X"A9",X"00", + X"AA",X"A4",X"AA",X"A4",X"AA",X"A4",X"AA",X"A4",X"AA",X"A4",X"AA",X"A4",X"AA",X"90",X"AA",X"90", + X"AA",X"A9",X"AA",X"A9",X"AA",X"A9",X"AA",X"A9",X"AA",X"A9",X"AA",X"A9",X"AA",X"A9",X"AA",X"A9", + X"AA",X"A4",X"AA",X"A4",X"AA",X"A9",X"AA",X"A9",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"A4",X"AA",X"A4",X"AA",X"90",X"AA",X"90",X"AA",X"90",X"AA",X"90",X"AA",X"90",X"AA",X"A4", + X"AA",X"A9",X"AA",X"A9",X"AA",X"A9",X"AA",X"A9",X"AA",X"A4",X"AA",X"A4",X"AA",X"A4",X"AA",X"A4", + 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"AA",X"AA",X"AA", + X"A9",X"00",X"AA",X"40",X"AA",X"40",X"AA",X"90",X"AA",X"90",X"AA",X"A4",X"AA",X"A4",X"AA",X"A9", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"90",X"00",X"A4",X"00", + X"AA",X"90",X"AA",X"90",X"AA",X"90",X"AA",X"90",X"AA",X"90",X"AA",X"90",X"AA",X"90",X"AA",X"90", + X"A4",X"00",X"A4",X"00",X"A4",X"00",X"A9",X"00",X"A9",X"00",X"A9",X"00",X"A9",X"00",X"A9",X"00", + X"A9",X"00",X"A4",X"00",X"A4",X"00",X"90",X"00",X"90",X"00",X"A4",X"00",X"A4",X"00",X"A4",X"00", + X"AA",X"90",X"AA",X"90",X"AA",X"90",X"AA",X"90",X"AA",X"90",X"AA",X"90",X"AA",X"90",X"AA",X"90", + X"AA",X"A4",X"AA",X"A4",X"AA",X"A4",X"AA",X"A4",X"AA",X"A4",X"AA",X"A4",X"AA",X"A4",X"AA",X"A4", + X"A4",X"00",X"A4",X"00",X"A4",X"00",X"A9",X"00",X"A9",X"00",X"A9",X"00",X"AA",X"40",X"AA",X"90", + X"AA",X"A4",X"AA",X"A4",X"AA",X"A4",X"AA",X"A4",X"AA",X"90",X"AA",X"90",X"AA",X"40",X"AA",X"40", + X"00",X"00",X"00",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00", + X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"E0",X"00",X"E0",X"00",X"F0",X"00",X"B0",X"00", + X"B8",X"00",X"B8",X"00",X"B8",X"00",X"BE",X"00",X"AE",X"00",X"AE",X"00",X"AF",X"80",X"AB",X"80", + X"AB",X"A0",X"AB",X"A0",X"AB",X"E0",X"AA",X"E8",X"AA",X"FA",X"AA",X"BA",X"AA",X"BE",X"AA",X"AE", + 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"00",X"00",X"05",X"00",X"01",X"04",X"05",X"40",X"01",X"40",X"01",X"51",X"01",X"10",X"01",X"55", + X"00",X"55",X"00",X"44",X"01",X"17",X"00",X"01",X"00",X"05",X"00",X"01",X"00",X"10",X"00",X"01", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"80",X"00", + X"A0",X"00",X"E0",X"00",X"FA",X"00",X"BA",X"80",X"BE",X"A0",X"AF",X"A8",X"AB",X"EA",X"AA",X"FA", + X"40",X"00",X"40",X"01",X"50",X"40",X"55",X"05",X"11",X"45",X"45",X"50",X"54",X"55",X"54",X"D1", + X"45",X"54",X"55",X"05",X"04",X"45",X"00",X"51",X"04",X"00",X"00",X"04",X"00",X"00",X"00",X"00", + X"01",X"DF",X"00",X"77",X"01",X"1D",X"01",X"47",X"00",X"11",X"00",X"44",X"00",X"00",X"00",X"43", + X"11",X"55",X"05",X"51",X"51",X"14",X"55",X"74",X"C5",X"10",X"54",X"54",X"45",X"40",X"4C",X"50", + X"55",X"50",X"54",X"40",X"04",X"00",X"41",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"BE",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"00",X"AA",X"A8",X"FA",X"AA",X"BE",X"AA",X"AF",X"EA",X"AA",X"FF",X"AA",X"AB",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"A8",X"00",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"FF",X"AA",X"AF",X"FF", + X"A8",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00", + X"AA",X"A0",X"AA",X"80",X"AA",X"80",X"AA",X"00",X"AA",X"00",X"A8",X"00",X"A8",X"00",X"A8",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"A8",X"AA",X"A0", + X"AA",X"00",X"A8",X"00",X"A0",X"00",X"80",X"00",X"80",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"A8",X"AA",X"A0",X"AA",X"80", + X"AA",X"AA",X"AA",X"A0",X"AA",X"00",X"A0",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"0C",X"00",X"03",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"30",X"00",X"30",X"00",X"30",X"00",X"30",X"00",X"30",X"00",X"0C",X"00",X"0C",X"00",X"0C", + X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"30", + X"0C",X"30",X"0C",X"30",X"03",X"30",X"03",X"C0",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03", + X"30",X"03",X"30",X"03",X"30",X"C3",X"30",X"0C",X"33",X"0C",X"30",X"0C",X"30",X"0C",X"0C",X"30", + X"30",X"00",X"30",X"00",X"30",X"C0",X"30",X"00",X"33",X"00",X"30",X"00",X"30",X"00",X"30",X"00", + X"03",X"00",X"0C",X"00",X"0C",X"30",X"0C",X"00",X"0C",X"C0",X"0C",X"00",X"0C",X"00",X"30",X"00", + X"00",X"C0",X"00",X"C0",X"00",X"C0",X"00",X"C0",X"03",X"30",X"03",X"00",X"03",X"00",X"03",X"00", + X"00",X"03",X"00",X"03",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"30",X"00",X"30",X"00",X"30", + X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"30",X"00",X"0F",X"00",X"00",X"FF",X"00",X"00", + X"30",X"03",X"C0",X"00",X"CC",X"00",X"C0",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"C3",X"00",X"C3",X"03",X"03",X"03",X"03",X"03",X"03",X"0C",X"03",X"0C",X"03",X"0C",X"03", + X"0C",X"00",X"0C",X"03",X"30",X"03",X"30",X"03",X"30",X"0F",X"30",X"0F",X"C0",X"33",X"C0",X"33", + X"00",X"03",X"00",X"0F",X"0C",X"33",X"00",X"33",X"30",X"C3",X"00",X"C3",X"03",X"03",X"03",X"03", + X"0C",X"00",X"0C",X"00",X"30",X"30",X"30",X"00",X"C3",X"00",X"C0",X"00",X"C0",X"00",X"00",X"00", + X"00",X"0C",X"00",X"30",X"00",X"30",X"00",X"C0",X"00",X"C0",X"03",X"30",X"03",X"00",X"0C",X"00", + X"03",X"00",X"0C",X"00",X"30",X"00",X"30",X"00",X"C0",X"00",X"C0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"03",X"0C",X"03",X"00",X"0C",X"30",X"30",X"00",X"30",X"00",X"C0",X"00",X"C0", + X"00",X"3F",X"00",X"3F",X"0C",X"3F",X"00",X"0F",X"30",X"0F",X"00",X"0F",X"00",X"03",X"00",X"03", + X"00",X"FF",X"00",X"FF",X"0C",X"FF",X"00",X"FF",X"30",X"FF",X"00",X"FF",X"00",X"FF",X"00",X"FF", + X"0D",X"FF",X"0D",X"FF",X"0D",X"FF",X"03",X"FF",X"33",X"FF",X"03",X"FF",X"03",X"FF",X"03",X"FF", + X"F5",X"FF",X"F5",X"FF",X"FD",X"FF",X"F5",X"FF",X"F5",X"FF",X"3D",X"FF",X"3D",X"FF",X"0D",X"FF", + X"D5",X"FF",X"D5",X"FF",X"FD",X"FF",X"F5",X"FF",X"F5",X"FF",X"F5",X"FF",X"F5",X"FF",X"F5",X"FF", + X"F5",X"7F",X"F5",X"7F",X"FD",X"7F",X"D5",X"7F",X"F5",X"7F",X"D5",X"FF",X"D5",X"FF",X"D5",X"FF", + X"FC",X"D7",X"FF",X"5F",X"FF",X"5F",X"FD",X"5F",X"FD",X"5F",X"FD",X"5F",X"F5",X"5F",X"F5",X"5F", + X"FF",X"1A",X"FC",X"09",X"FC",X"0A",X"FC",X"05",X"3C",X"01",X"FC",X"01",X"FC",X"0F",X"FC",X"37", + X"F5",X"55",X"FD",X"55",X"FD",X"55",X"FD",X"55",X"FD",X"55",X"FD",X"55",X"FD",X"55",X"FD",X"D6", + X"3F",X"55",X"3D",X"55",X"3D",X"55",X"35",X"55",X"35",X"55",X"D5",X"55",X"D5",X"55",X"F5",X"55", + X"03",X"FD",X"03",X"F5",X"0F",X"F5",X"0F",X"F5",X"3F",X"D5",X"0F",X"D5",X"0F",X"D5",X"3F",X"55", + X"03",X"0F",X"0C",X"3F",X"0C",X"3F",X"30",X"3F",X"30",X"FF",X"C3",X"FF",X"C0",X"FF",X"00",X"FD", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"03",X"00",X"0F",X"00",X"3F",X"00",X"CF", + X"00",X"FF",X"00",X"3F",X"00",X"3F",X"00",X"0F",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"3F",X"FF",X"3F",X"FF",X"0F",X"FF",X"0F",X"FF",X"03",X"FF",X"00",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"15",X"FF",X"15",X"FF",X"55",X"FF",X"D5",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"94",X"00",X"90",X"00",X"90",X"00",X"7C",X"00",X"FC",X"01",X"FC",X"01",X"FF",X"05",X"FF",X"05", + X"55",X"AA",X"55",X"AA",X"55",X"6A",X"55",X"4A",X"A9",X"4A",X"99",X"42",X"A9",X"02",X"A4",X"00", + X"56",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"56",X"AA",X"56",X"AA", + X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"5A",X"AA",X"56",X"AA",X"56",X"AA",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"EA",X"AA",X"5A",X"AA",X"5A",X"AA", + X"00",X"AA",X"00",X"AA",X"02",X"AA",X"02",X"AA",X"0A",X"AA",X"0A",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"02",X"00",X"0A",X"00",X"0A",X"00",X"2A",X"00",X"2A", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"3F",X"FC",X"0F",X"F0", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"D5",X"FF",X"D5",X"FF",X"D5",X"FF",X"F5",X"FF",X"F5",X"FF",X"F5",X"FF",X"FD",X"FF",X"FF", + X"55",X"6A",X"55",X"5A",X"55",X"56",X"F5",X"56",X"FD",X"55",X"FD",X"55",X"FF",X"55",X"FF",X"55", + X"AA",X"AA",X"2A",X"AA",X"2A",X"AA",X"5A",X"AA",X"56",X"AA",X"56",X"AA",X"55",X"AA",X"55",X"6A", + 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"02",X"AA",X"0A",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"02",X"00",X"0A",X"00",X"2A",X"00",X"AA", + X"FE",X"A0",X"FE",X"A0",X"FE",X"80",X"FA",X"00",X"E8",X"00",X"80",X"00",X"00",X"00",X"00",X"00", + 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"AA",X"FF",X"A8", + X"FF",X"FA",X"FF",X"FA",X"FF",X"FA",X"FF",X"FA",X"FF",X"FA",X"FF",X"EA",X"FF",X"EA",X"FF",X"EA", + X"FF",X"FE",X"FF",X"FE",X"FF",X"FE",X"FF",X"FA",X"FF",X"FA",X"FF",X"FA",X"FF",X"FA",X"FF",X"FA", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"F7",X"D7",X"FF",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"5D",X"5D",X"5D",X"7D",X"5D",X"7D",X"5D",X"75",X"5D",X"F5",X"5D",X"F5",X"7D",X"F5",X"75",X"D7", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"6A",X"AA",X"56",X"AA",X"57",X"6A", + X"00",X"AA",X"02",X"AA",X"2A",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"0A",X"00",X"2A", + X"FC",X"00",X"F8",X"00",X"F0",X"00",X"E0",X"00",X"C0",X"00",X"C0",X"00",X"00",X"00",X"00",X"00", + X"AA",X"FA",X"AA",X"EA",X"AB",X"EA",X"AB",X"E8",X"AF",X"88",X"AF",X"00",X"BE",X"00",X"BC",X"00", + X"AA",X"BF",X"AA",X"BF",X"AA",X"BF",X"AA",X"FE",X"AA",X"FE",X"AA",X"FE",X"AA",X"FA",X"AA",X"FA", + X"EA",X"AB",X"EA",X"AB",X"EA",X"AF",X"AA",X"AF",X"AA",X"AF",X"AA",X"AF",X"AA",X"BF",X"AA",X"BF", + X"FF",X"EA",X"FF",X"EA",X"FF",X"AA",X"FF",X"AA",X"FE",X"AA",X"FE",X"AA",X"FA",X"AA",X"FA",X"AB", + X"5F",X"7F",X"7D",X"7D",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FF",X"FA",X"FF",X"EA",X"FF",X"EA", + X"55",X"6A",X"75",X"FA",X"75",X"F7",X"F5",X"D7",X"F7",X"D7",X"D7",X"D7",X"D7",X"5F",X"D7",X"5F", + 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"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"AA",X"AA", + X"AA",X"AB",X"AA",X"AB",X"AA",X"AB",X"AA",X"AB",X"AA",X"AB",X"AA",X"AB",X"AA",X"AB",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"AA",X"AA",X"AA",X"AA", + X"AA",X"BF",X"AA",X"BF",X"AA",X"BF",X"AA",X"BF",X"AA",X"BF",X"AA",X"FF",X"AA",X"AB",X"AA",X"AB", + X"AA",X"FF",X"AA",X"FF",X"AA",X"BF",X"AA",X"BF",X"AA",X"BF",X"AA",X"BF",X"AA",X"BF",X"AA",X"BF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"03",X"FE",X"BF",X"FE",X"AB",X"FE", + X"01",X"55",X"01",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"AE",X"FE",X"8F",X"FA",X"03",X"FA",X"03",X"FA",X"00",X"FA",X"00",X"FD",X"00",X"5F",X"00",X"55", + X"FF",X"BF",X"FF",X"BF",X"FE",X"BF",X"FE",X"FF",X"FE",X"FE",X"BE",X"FE",X"BE",X"FE",X"AE",X"FE", + X"FE",X"BF",X"FF",X"BF",X"FF",X"BF",X"FF",X"BF",X"FF",X"BF",X"FF",X"BF",X"FF",X"BF",X"FF",X"BF", + X"BF",X"FE",X"BF",X"FE",X"BF",X"FE",X"FF",X"FE",X"FF",X"FF",X"FA",X"FF",X"FA",X"FF",X"FE",X"FF", + X"55",X"A0",X"5A",X"A0",X"AA",X"80",X"AA",X"E8",X"AB",X"E8",X"AB",X"F8",X"AF",X"FA",X"AF",X"FA", + X"BF",X"A5",X"AF",X"55",X"ED",X"55",X"D5",X"55",X"D5",X"55",X"D5",X"55",X"55",X"55",X"55",X"59", + X"FE",X"AA",X"FE",X"AA",X"FE",X"AA",X"FE",X"AA",X"FE",X"AA",X"FE",X"AA",X"FE",X"AA",X"FE",X"AA", + X"FE",X"AA",X"BE",X"AA",X"AA",X"AA",X"BE",X"AA",X"BF",X"AA",X"BF",X"AA",X"FF",X"AA",X"FE",X"AA", + X"FF",X"F6",X"FE",X"56",X"FE",X"6A",X"FE",X"AA",X"FE",X"AA",X"FE",X"AA",X"FA",X"AA",X"FA",X"AA", + X"BF",X"F6",X"BF",X"F6",X"BF",X"F6",X"BF",X"F6",X"BF",X"F6",X"FF",X"F6",X"FF",X"F6",X"FF",X"F6", + X"AF",X"F6",X"AF",X"F6",X"BF",X"F6",X"BF",X"F6",X"BF",X"F6",X"BF",X"F6",X"BF",X"F6",X"BF",X"F6", + X"AF",X"FA",X"AF",X"FA",X"AF",X"FA",X"AF",X"FA",X"AF",X"EA",X"AF",X"F6",X"AF",X"F6",X"AF",X"F6", + X"FF",X"DA",X"FF",X"DA",X"FF",X"DA",X"BF",X"EA",X"BF",X"FA",X"AF",X"FA",X"AF",X"FA",X"AF",X"FA", + X"FF",X"6A",X"FF",X"5A",X"FF",X"DA",X"FF",X"DA",X"FF",X"DA",X"FF",X"DA",X"FF",X"DA",X"FF",X"DA", + X"AA",X"95",X"AA",X"95",X"EA",X"A5",X"D6",X"A5",X"F5",X"A9",X"FD",X"A9",X"FD",X"69",X"FF",X"69", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"A0",X"15",X"A5",X"55",X"A5",X"55",X"A9",X"55", + X"54",X"00",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"95",X"00",X"54",X"00",X"54",X"00",X"54",X"00",X"5C",X"00",X"7C",X"00",X"F4",X"00",X"54",X"00", + X"95",X"00",X"95",X"00",X"95",X"00",X"95",X"00",X"95",X"00",X"95",X"00",X"95",X"00",X"95",X"00", + X"95",X"00",X"A5",X"00",X"E5",X"00",X"E5",X"00",X"E5",X"00",X"E5",X"00",X"E5",X"00",X"A5",X"00", + X"00",X"00",X"00",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"90",X"00",X"94",X"00",X"95",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"FF",X"AA",X"FE",X"A8",X"3E",X"A0",X"3F",X"A0",X"0F",X"80",X"0F",X"80",X"03",X"00",X"00", + X"5F",X"EF",X"5F",X"EF",X"6B",X"AF",X"6B",X"AF",X"6B",X"BF",X"6B",X"BF",X"AB",X"BF",X"AB",X"FF", + X"97",X"AF",X"97",X"EF",X"97",X"EF",X"97",X"EF",X"5F",X"EF",X"5F",X"EF",X"5F",X"EF",X"5F",X"EF", + X"A5",X"7B",X"A5",X"7A",X"A5",X"7E",X"A5",X"FE",X"95",X"FE",X"95",X"FF",X"95",X"FF",X"96",X"BF", + X"A9",X"55",X"A9",X"55",X"A9",X"54",X"A9",X"54",X"A9",X"50",X"A9",X"5C",X"A5",X"5F",X"A5",X"5B", + X"AA",X"55",X"AA",X"55",X"AA",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"50",X"AA",X"50",X"AA",X"50",X"AA",X"50",X"AA",X"54",X"AA",X"54",X"AA",X"54",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"50",X"AA",X"40",X"AA",X"40", + X"A4",X"04",X"A5",X"00",X"A9",X"00",X"A9",X"40",X"A9",X"41",X"AA",X"55",X"AA",X"55",X"AA",X"55", + X"55",X"00",X"54",X"01",X"54",X"04",X"51",X"44",X"51",X"54",X"90",X"54",X"90",X"54",X"A4",X"14", + X"55",X"50",X"55",X"40",X"55",X"40",X"55",X"40",X"55",X"00",X"55",X"00",X"55",X"00",X"55",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"50",X"00", + X"55",X"00",X"55",X"00",X"55",X"00",X"55",X"00",X"54",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"BD",X"54",X"BD",X"54",X"FD",X"50",X"F5",X"40",X"F5",X"40",X"D5",X"00",X"D5",X"00",X"D5",X"00", + X"EF",X"54",X"EF",X"54",X"EF",X"54",X"EF",X"54",X"AD",X"54",X"BD",X"54",X"BD",X"54",X"BD",X"54", + X"AF",X"00",X"EF",X"00",X"EF",X"00",X"EF",X"00",X"EF",X"00",X"EF",X"00",X"EF",X"00",X"EF",X"40", + X"F0",X"00",X"F0",X"00",X"F0",X"00",X"FC",X"00",X"BC",X"00",X"BC",X"00",X"BC",X"00",X"BF",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00", + X"14",X"00",X"54",X"00",X"50",X"00",X"50",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"00",X"00", + X"00",X"10",X"00",X"40",X"00",X"40",X"01",X"40",X"01",X"00",X"05",X"00",X"05",X"00",X"14",X"00", + X"01",X"00",X"04",X"00",X"54",X"00",X"54",X"00",X"54",X"00",X"54",X"00",X"54",X"10",X"10",X"10", + X"00",X"00",X"10",X"00",X"10",X"00",X"40",X"00",X"40",X"00",X"40",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"2A",X"00",X"0A",X"00",X"0A",X"00",X"02",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00", + X"0A",X"AA",X"0A",X"AA",X"02",X"AA",X"02",X"AA",X"02",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"2A", + 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"0A",X"AA",X"0A",X"AA", + X"0A",X"AA",X"02",X"AA",X"02",X"AA",X"00",X"AA",X"00",X"2A",X"00",X"0A",X"00",X"02",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"2A",X"AA",X"2A",X"AA", + X"2A",X"AA",X"0A",X"AA",X"02",X"AA",X"00",X"2A",X"00",X"0A",X"00",X"02",X"00",X"00",X"00",X"00", + X"0A",X"AA",X"02",X"AA",X"00",X"AA",X"00",X"2A",X"00",X"0A",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"0A",X"AA",X"00",X"AA", + X"AA",X"80",X"AA",X"80",X"AA",X"00",X"AA",X"00",X"A8",X"00",X"A0",X"00",X"80",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"A8",X"AA",X"A8",X"AA",X"A0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"80",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"80",X"00", + X"00",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"2A",X"AA",X"2A",X"AA",X"2A",X"AA",X"AA",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"AA",X"00",X"AA",X"80",X"AA",X"A0",X"AA",X"A8",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"80",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A8",X"00",X"A8",X"00",X"A8",X"00",X"AA",X"00", + X"00",X"00",X"00",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AA",X"AA",X"82",X"AA",X"00",X"AA",X"00",X"2A",X"00",X"0A",X"00",X"02",X"00",X"00", + X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"A0",X"00",X"A8",X"00", + X"02",X"AA",X"02",X"AA",X"02",X"AA",X"02",X"AA",X"00",X"AA",X"00",X"AA",X"00",X"2A",X"00",X"0A", + X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",X"AA",X"0A",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"A8",X"0A",X"A8",X"0A",X"A8",X"0A",X"A0",X"0A",X"A0",X"0A",X"80",X"2A",X"80",X"2A",X"00",X"AA", + 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"A8",X"02",X"A8",X"02",X"A8",X"0A",X"A0",X"0A",X"A0",X"0A", + X"AA",X"80",X"AA",X"80",X"AA",X"80",X"AA",X"80",X"AA",X"80",X"AA",X"80",X"AA",X"02",X"AA",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"AA",X"02",X"AA",X"0A",X"AA",X"2A",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"A0",X"AA",X"80",X"AA",X"00", + X"A8",X"00",X"A0",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"02",X"00",X"0A",X"00",X"2A",X"00",X"AA",X"02",X"AA",X"0A",X"AA",X"2A",X"AA", + X"AA",X"00",X"AA",X"00",X"A8",X"00",X"A8",X"00",X"A0",X"00",X"A0",X"00",X"80",X"00",X"00",X"00", + X"AA",X"80",X"AA",X"80",X"AA",X"80",X"AA",X"80",X"AA",X"80",X"AA",X"00",X"AA",X"00",X"AA",X"00", + X"AA",X"A0",X"AA",X"A0",X"AA",X"A0",X"AA",X"A0",X"AA",X"A0",X"AA",X"A0",X"AA",X"A0",X"AA",X"A0", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AE",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"BA",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"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"02",X"AA",X"02",X"AA",X"02",X"AA",X"0A",X"AA",X"0A",X"AA",X"2A",X"AA",X"AA",X"AA", + X"00",X"2A",X"00",X"2A",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"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"00",X"00",X"00",X"00", + X"AA",X"A0",X"AA",X"A0",X"AA",X"A0",X"AA",X"A0",X"AA",X"A0",X"AA",X"A0",X"AA",X"A0",X"AA",X"A0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"0A",X"00",X"0A",X"00",X"0A",X"00",X"0A",X"00",X"0A",X"00",X"0A",X"00",X"0A",X"00",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"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"95",X"55",X"95",X"55",X"95",X"55",X"A5",X"55", + X"7F",X"33",X"57",X"CF",X"5F",X"FF",X"6B",X"FF",X"5A",X"AA",X"AA",X"AA",X"56",X"AA",X"55",X"FF", + X"D5",X"55",X"FD",X"55",X"55",X"55",X"95",X"55",X"A9",X"55",X"95",X"55",X"55",X"56",X"F5",X"56", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"2A",X"AA",X"0A",X"AA",X"0A",X"AA",X"02",X"AA",X"00",X"AA", + X"A9",X"55",X"AA",X"55",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"5F",X"FF",X"7F",X"FF",X"5F",X"FF",X"56",X"AA",X"55",X"AA",X"95",X"69",X"A9",X"59",X"AA",X"AA", + X"FD",X"56",X"F5",X"5A",X"D5",X"5A",X"55",X"6A",X"55",X"6A",X"56",X"AA",X"6A",X"AA",X"AA",X"AA", + X"00",X"0A",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"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"2A",X"AA",X"02",X"AA",X"00",X"2A",X"00",X"0A",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"0A",X"A0", + X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"A0",X"00",X"A0",X"00",X"A8",X"00",X"AA",X"00", + X"AA",X"A0",X"AA",X"A8",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"80",X"00",X"A8",X"00",X"AA",X"80",X"AA",X"A0",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"A0",X"0A", + 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"FF",X"CA",X"FF",X"F2",X"FF",X"FC",X"FF",X"FC",X"AA",X"FC",X"AA",X"BC",X"AA",X"BC",X"AA",X"BC", + X"F2",X"AA",X"F2",X"AA",X"F2",X"AA",X"F2",X"AA",X"F2",X"AA",X"F2",X"BF",X"B2",X"BF",X"A2",X"BF", + X"AF",X"FF",X"BF",X"FF",X"FF",X"FF",X"FC",X"AA",X"F2",X"AA",X"F2",X"AA",X"F2",X"AA",X"F2",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"BF",X"AA",X"BF",X"AA",X"BF",X"AA",X"BF", + X"F2",X"AA",X"F2",X"AA",X"F2",X"AA",X"F2",X"AA",X"F2",X"BF",X"F2",X"BF",X"F2",X"BF",X"F2",X"BF", + X"AF",X"CA",X"AF",X"CA",X"AF",X"CA",X"AF",X"CA",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"FF",X"FC",X"FF",X"FC",X"FF",X"FC",X"FF",X"FC", + X"FA",X"AF",X"FE",X"BF",X"FF",X"FF",X"FF",X"FF",X"AF",X"F2",X"AF",X"CA",X"AF",X"CA",X"AF",X"CA", + X"FF",X"FF",X"FF",X"CA",X"F2",X"AA",X"F2",X"AA",X"F2",X"BF",X"F2",X"BF",X"F2",X"BF",X"F2",X"BF", + X"2A",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"AA",X"AA",X"AA",X"AA",X"AA",X"BF",X"AF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"AF",X"FF",X"FF",X"FF",X"FF",X"F2",X"FC",X"AA", + X"FF",X"FC",X"FF",X"FC",X"FF",X"FC",X"FF",X"FC",X"FF",X"2A",X"CA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"F2",X"AA",X"F2",X"AA",X"F2",X"AA",X"F2",X"AA",X"F2",X"AA",X"F2",X"AA",X"F2",X"AA",X"F2",X"AA", + X"AF",X"2A",X"AF",X"2A",X"AF",X"2A",X"AF",X"2A",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"AA",X"AA",X"AF",X"2A",X"AF",X"2A",X"AF",X"2A",X"AF",X"2A",X"AF",X"2A",X"AF",X"2A",X"AF",X"2A", + X"AA",X"BC",X"AA",X"BC",X"AA",X"BC",X"AA",X"BC",X"AA",X"BC",X"AA",X"BC",X"AA",X"BC",X"AA",X"BC", + X"02",X"04",X"23",X"14",X"FB",X"50",X"EB",X"40",X"FB",X"50",X"23",X"14",X"02",X"04",X"00",X"00", + X"FF",X"FF",X"EA",X"AA",X"EA",X"AA",X"EA",X"AA",X"EA",X"AA",X"EA",X"AA",X"EA",X"AA",X"EA",X"AA", + X"AA",X"EA",X"AA",X"FA",X"AA",X"BA",X"AA",X"BE",X"AA",X"AE",X"AA",X"AF",X"AA",X"AA",X"AA",X"AA", + X"AE",X"AA",X"AE",X"AA",X"AE",X"AA",X"AE",X"AA",X"AF",X"AA",X"AB",X"AA",X"AB",X"AA",X"AB",X"EA", + X"AA",X"FA",X"AA",X"EA",X"AA",X"EA",X"AA",X"EA",X"AA",X"EA",X"EB",X"EA",X"FF",X"AA",X"AA",X"AA", + X"AA",X"BA",X"AA",X"BA",X"AA",X"BA",X"AA",X"BA",X"AA",X"BA",X"AA",X"BA",X"AA",X"BA",X"AA",X"BA", + X"00",X"C0",X"00",X"C0",X"00",X"EA",X"AA",X"FA",X"AA",X"BA",X"AA",X"BA",X"AA",X"FF",X"FF",X"FA", + X"0C",X"00",X"0F",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"00",X"03",X"C0",X"00",X"C0", + X"30",X"04",X"31",X"44",X"31",X"11",X"30",X"10",X"30",X"71",X"30",X"04",X"3C",X"10",X"0C",X"00", + X"10",X"00",X"01",X"04",X"11",X"10",X"00",X"41",X"C4",X"30",X"C4",X"44",X"C1",X"10",X"F0",X"00", + X"10",X"0F",X"10",X"43",X"41",X"13",X"04",X"43",X"13",X"13",X"44",X"03",X"01",X"10",X"50",X"00", + X"00",X"C1",X"10",X"F0",X"00",X"30",X"44",X"30",X"13",X"3C",X"41",X"0C",X"10",X"4C",X"00",X"4C", + X"4F",X"01",X"0F",X"C0",X"43",X"C4",X"13",X"C0",X"03",X"CC",X"10",X"C1",X"44",X"C4",X"00",X"C0", + X"00",X"00",X"3C",X"30",X"3C",X"00",X"3C",X"00",X"3F",X"04",X"3F",X"30",X"0F",X"00",X"0F",X"04", + X"30",X"00",X"31",X"30",X"30",X"00",X"31",X"10",X"30",X"04",X"03",X"10",X"00",X"00",X"00",X"04", + X"3C",X"00",X"30",X"00",X"30",X"00",X"30",X"00",X"30",X"00",X"30",X"10",X"31",X"00",X"30",X"00", + X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00",X"0C",X"00", + X"59",X"AA",X"D5",X"AA",X"B5",X"9A",X"AD",X"56",X"B5",X"56",X"AF",X"55",X"AA",X"D5",X"AA",X"BF", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A6",X"AA",X"95",X"AA",X"96",X"AA",X"6A",X"AA", + X"A6",X"97",X"A6",X"5E",X"95",X"7A",X"55",X"5E",X"57",X"DE",X"5E",X"BA",X"7A",X"AA",X"EA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"9A",X"AA",X"96",X"AA",X"66",X"AA",X"55", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"F2",X"FF",X"F2",X"FF",X"F2",X"FF",X"F2",X"FF", + X"AF",X"FF",X"BF",X"FF",X"BC",X"AA",X"FC",X"AA",X"FC",X"AA",X"FC",X"AA",X"FC",X"AA",X"F2",X"AA", + X"FF",X"FC",X"FF",X"FC",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"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00",X"A0",X"00", + X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00", + X"02",X"80",X"02",X"80",X"02",X"80",X"02",X"80",X"02",X"80",X"02",X"80",X"02",X"80",X"02",X"80"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/rom/midssio_82s123.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/rom/midssio_82s123.vhd new file mode 100644 index 00000000..daecc05c --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/rom/midssio_82s123.vhd @@ -0,0 +1,24 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity midssio_82s123 is +port ( + clk : in std_logic; + addr : in std_logic_vector(4 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of midssio_82s123 is + type rom is array(0 to 31) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"FF",X"FF",X"FE",X"FF",X"FF",X"FD",X"FF",X"FE",X"FF",X"F7", + X"FB",X"EF",X"6D",X"07",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/satans_hollow_sound_board.vhd b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/satans_hollow_sound_board.vhd new file mode 100644 index 00000000..1c1ddccf --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/satans_hollow_sound_board.vhd @@ -0,0 +1,537 @@ +--------------------------------------------------------------------------------- +-- Kick_sound_board by Dar (darfpga@aol.fr) (19/10/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +-- gen_ram.vhd & io_ps2_keyboard +-------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +--------------------------------------------------------------------------------- +-- T80/T80se - Version : 304 +----------------------------- +-- Z80 compatible microprocessor core +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +--------------------------------------------------------------------------------- +-- YM2149 (AY-3-8910) +-- Copyright (c) MikeJ - Jan 2005 +--------------------------------------------------------------------------------- +-- Educational use only +-- Do not redistribute synthetized file with roms +-- Do not redistribute roms whatever the form +-- Use at your own risk +--------------------------------------------------------------------------------- +-- +-- SOUND : 1xZ80 @ 2.0MHz CPU accessing its program rom, working ram, 2x-AY3-8910 +-- 8Kx8bits program rom +-- 1Kx8bits working ram +-- +-- 1xAY-3-8910 +-- 3 sound channels +-- +-- 1xAY-3-8910 +-- 3 sound channels +-- +-- 6 sound modulation (required 8MHz signal => 40MHz/5) +-- 2 global volume control (not activated - not sure it was used for kick ) +-- +-- I/O : +-- 4x8bits command registers from main cpu board (IRAM) +-- 1x8bits status registers to main cpu board (STAT) +-- 5x8bits input buffers to main cpu board (IP0-IP5) +-- 2x8bits output registers from main cpu board (OP0/OP4) +-- +--------------------------------------------------------------------------------- +-- Schematics remarks : +-- Not sure global volume are used => both deactivated +-- Not sure if global channels are mixed together or not => allow for +-- external control mixed/separated +--------------------------------------------------------------------------------- + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity satans_hollow_sound_board is +port( + clock_40 : in std_logic; + reset : in std_logic; + + main_cpu_addr : in std_logic_vector(7 downto 0); + + ssio_iowe : in std_logic; + ssio_di : in std_logic_vector(7 downto 0); + ssio_do : out std_logic_vector(7 downto 0); + + 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); + 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); + cpu_rom_addr : out std_logic_vector(13 downto 0); + cpu_rom_do : in std_logic_vector(7 downto 0) + ); +end satans_hollow_sound_board; + +architecture struct of satans_hollow_sound_board is + + signal reset_n : std_logic; + signal clock_snd : std_logic; + signal clock_sndn: std_logic; + + signal clock_cnt1 : std_logic_vector(4 downto 0) := "00000"; + + signal cpu_ena : std_logic; + signal ena_4Mhz : std_logic; + signal clk_8Mhz : std_logic; + + signal cpu_addr : std_logic_vector(15 downto 0); + signal cpu_di : std_logic_vector( 7 downto 0); + signal cpu_do : std_logic_vector( 7 downto 0); + signal cpu_wr_n : std_logic; + signal cpu_rd_n : std_logic; + signal cpu_mreq_n : std_logic; + signal cpu_ioreq_n : std_logic; + signal cpu_irq_n : std_logic; + signal cpu_m1_n : std_logic; + + + signal wram_we : std_logic; + signal wram_do : std_logic_vector( 7 downto 0); + + signal iram_0_do : std_logic_vector( 7 downto 0); + signal iram_1_do : std_logic_vector( 7 downto 0); + signal iram_2_do : std_logic_vector( 7 downto 0); + signal iram_3_do : std_logic_vector( 7 downto 0); + + signal ssio_status : std_logic_vector( 7 downto 0); + + signal div_E11 : std_logic_vector(2 downto 0); -- binary counter 3msb of E11 - 74161 + signal div_D11 : std_logic_vector(3 downto 0); -- decade counter - D11 - 74160 + signal div_C12 : std_logic_vector(6 downto 0); -- stage ripple counter - C12 - MC140247 + signal clr_int : std_logic; + + signal ay1_audio_chan : std_logic_vector( 1 downto 0); + signal ay1_audio_muxed: std_logic_vector( 7 downto 0); + signal ay1_bc1 : std_logic; + signal ay1_bdir : std_logic; + signal ay1_do : std_logic_vector( 7 downto 0); + signal ay1_cs : std_logic; + signal ay1_port_a : std_logic_vector( 7 downto 0); + signal ay1_port_b : std_logic_vector( 7 downto 0); + + signal ay2_audio_chan : std_logic_vector( 1 downto 0); + signal ay2_audio_muxed: std_logic_vector( 7 downto 0); + signal ay2_bc1 : std_logic; + signal ay2_bdir : std_logic; + signal ay2_do : std_logic_vector( 7 downto 0); + signal ay2_cs : std_logic; + signal ay2_port_a : std_logic_vector( 7 downto 0); + signal ay2_port_b : std_logic_vector( 7 downto 0); + + signal ssio_82s123_addr : std_logic_vector(4 downto 0); + signal ssio_82s123_do : std_logic_vector(7 downto 0); + signal ssio_modulation_clock : std_logic; + signal ssio_modulation_clock_r : std_logic; + signal ssio_modulation_load : std_logic; + signal modulation_counter_a1 : std_logic_vector(3 downto 0); + signal modulation_counter_b1 : std_logic_vector(3 downto 0); + signal modulation_counter_c1 : std_logic_vector(3 downto 0); + signal modulation_counter_a2 : std_logic_vector(3 downto 0); + signal modulation_counter_b2 : std_logic_vector(3 downto 0); + signal modulation_counter_c2 : std_logic_vector(3 downto 0); + + signal ch_a1 : std_logic_vector(7 downto 0); + signal ch_b1 : std_logic_vector(7 downto 0); + signal ch_c1 : std_logic_vector(7 downto 0); + signal ch_a2 : std_logic_vector(7 downto 0); + signal ch_b2 : std_logic_vector(7 downto 0); + signal ch_c2 : std_logic_vector(7 downto 0); + + -- K volume data : 148 138 127 112 95 72 42 0 + type bytes_array is array(0 to 7) of std_logic_vector(7 downto 0); + signal K_volume : bytes_array := (X"94",X"8A",X"7F",X"70",X"5F",X"48",X"2A",X"00"); + + signal volume_ch1 : std_logic_vector(7 downto 0); + signal volume_ch2 : std_logic_vector(7 downto 0); + + signal snd_1 : std_logic_vector(17 downto 0); + signal snd_2 : std_logic_vector(17 downto 0); + signal snd_mono : std_logic_vector(18 downto 0); + +begin + +clock_snd <= clock_40; +clock_sndn <= not clock_40; +reset_n <= not reset; + + +-- make enables clock from clock_snd +process (clock_snd, reset) +begin + if reset='1' then + clock_cnt1 <= (others=>'0'); + clk_8Mhz <= '0'; + else + if rising_edge(clock_snd) then + if clock_cnt1 = "10011" then -- divide by 20 + clock_cnt1 <= (others=>'0'); + else + clock_cnt1 <= clock_cnt1 + 1; + end if; + + if clock_cnt1 = "10011" or + clock_cnt1 = "00100" or + clock_cnt1 = "01001" or + clock_cnt1 = "01110" then + + clk_8Mhz <= not clk_8Mhz; -- (50% duty cycle) + end if; + + end if; + end if; +end process; +-- +cpu_ena <= '1' when clock_cnt1 = "00000" else '0'; -- (2.0MHz) + +ena_4Mhz <= '1' when clock_cnt1 = "00000" or + clock_cnt1 = "01010" else '0'; -- (4.0MHz) + +------------------------------------------ +-- cpu data input with address decoding -- +------------------------------------------ +cpu_di <= cpu_rom_do when cpu_mreq_n = '0' and cpu_addr(15 downto 14) = "00" else -- 0x0000-0x3FFF + wram_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12) = X"8" else -- 0x8000-0x83FF + iram_0_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9000" else + iram_1_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9001" else + iram_2_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9002" else + iram_3_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9003" else + ay1_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12)= X"A" else + ay2_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12)= X"B" else + x"FF" when cpu_mreq_n = '0' and cpu_addr(15 downto 12)= X"F" else -- 0xF000 (sw3 dip - D14) + X"FF"; + + +------------------------------------------ +-- write enable to working ram from CPU -- +------------------------------------------ +wram_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and cpu_addr(15 downto 12) = X"8" else '0'; -- 0x8000-0x83FF +clr_int <= '1' when cpu_mreq_n = '0' and cpu_rd_n = '0' and cpu_addr(15 downto 12) = X"E" else '0'; -- 0xE000-0xEFFF + +ay1_cs <= '1' when cpu_mreq_n = '0' and (cpu_rd_n = '0' or cpu_wr_n = '0') and cpu_addr(15 downto 12) = X"A" else '0'; -- 0xA000-0xAFFF +ay2_cs <= '1' when cpu_mreq_n = '0' and (cpu_rd_n = '0' or cpu_wr_n = '0') and cpu_addr(15 downto 12) = X"B" else '0'; -- 0xB000-0xBFFF + +ay1_bdir <= not (not ay1_cs or cpu_addr(0) ); +ay1_bc1 <= not (not ay1_cs or cpu_addr(1) ); +ay2_bdir <= not (not ay2_cs or cpu_addr(0) ); +ay2_bc1 <= not (not ay2_cs or cpu_addr(1) ); + +ssio_do <= input_0 when main_cpu_addr(2 downto 0) = "000" else -- Input 0 -- players, coins, ... + input_1 when main_cpu_addr(2 downto 0) = "001" else -- Input 1 + input_2 when main_cpu_addr(2 downto 0) = "010" else -- Input 2 + input_3 when main_cpu_addr(2 downto 0) = "011" else -- Input 3 -- sw1 dip + input_4 when main_cpu_addr(2 downto 0) = "100" else -- Input 4 + ssio_status when main_cpu_addr(2 downto 0) = "111" else -- ssio status + x"FF"; + + +process (clock_snd) +begin + if rising_edge(clock_snd) then + if cpu_wr_n = '0' and cpu_addr(15 downto 12) = X"C" then ssio_status <= cpu_do; end if; -- 0xC000-0xCFFF + end if; +end process; + +------------------------------------------------------------------------ +-- Misc registers : interrupt, counters E11/D11/C12 +------------------------------------------------------------------------ +process (clock_snd, reset, clr_int, ena_4Mhz) +begin + if reset = '1' then + div_E11 <= (others => '0'); -- 3msb of E11 + div_D11 <= (others => '0'); -- decade counter + div_C12 <= (others => '0'); -- MC14024 + else + if rising_edge(clock_snd) then + + if ena_4Mhz = '1' then + + div_E11 <= div_E11 + 1; + + if div_E11 = "111" then + if div_D11 = "1001" then + div_D11 <= (others => '0'); + else + div_D11 <= div_D11 + 1; + end if; + + if div_D11 = "0100" then + div_C12 <= div_C12 + 1; + end if; + + end if; + + end if; + + if clr_int = '1' then + div_C12 <= (others => '0'); + end if; + + end if; + end if; +end process; + +cpu_irq_n <= not div_C12(6); + +------------------------------- +-- sound modulation / volume -- +------------------------------- + +ssio_82s123_addr <= div_D11 & div_E11(2); + +--74166 8 bits shift register (D13) +ssio_modulation_clock <= ssio_82s123_do(7-to_integer(unsigned(div_E11(1 downto 0) & clk_8Mhz))); +ssio_modulation_load <= '1' when div_D11 = "1001" else '0'; + +-- AY-3-8910 #1 +-- ch A (pin 4) modulated by counter controled by port A3-0 (pin 18->21) +-- ch B (pin 3) modulated by counter controled by port A7-4 (pin 14->17) +-- ch C (pin 38) modulated by counter controled by port B3-0 (pin 10->13) +-- mute left and right port B7 (pin 6) +-- volume#1 contoled by port B6-4 (pin 7->9) + +-- AY-3-8910 #2 +-- ch A (pin 4) modulated by counter controled by port A3-0 (pin 18->21) +-- ch B (pin 3) modulated by counter controled by port A7-4 (pin 14->17) +-- ch C (pin 38) modulated by counter controled by port B3-0 (pin 10->13) +-- mute global port B7 (pin 6) +-- volume#2 contoled by port B6-4 (pin 7->9) + +-- 4051 cmos mux (D5 and E3) +-- CBA +-- 000 => switch X0 (pin 13) ON others OFF +-- 001 => switch X1 (pin 14) ON others OFF +-- ... +-- 111 => switch X7 (pin 4) ON others OFF + +-- Assuming R179 to R187 equivalent to +-- +-- -------- +-- --------| R2 |-------- -- with R1 = 24k + n*4.7k +-- ^ | -------- | ^ -- R2 = 24k +-- | --- --- | -- R3 = (7-n)*4.7 +-- | | | | | | -- +-- Vin | | | R1 R3 | | | Vout -- n being 4051 CBA value +-- | | | | | | -- +-- | --- --- | -- which gives +-- | | | | -- Vout = Vin * (7-n)*4.7/(24+(7-n)*4.7) +-- ------------------------ +-- +-- let : Vout = Vin * K(n) = Vin * (7-n)*4.7/(24+(7-n)*4.7) * 256 +-- +-- with K(n) = [148 138 127 112 95 72 42 0] +-- + +process (clock_snd, ssio_modulation_clock, ssio_modulation_load) +begin + if rising_edge(clock_snd) then + ssio_modulation_clock_r <= ssio_modulation_clock; + + if ssio_modulation_load = '1' then + modulation_counter_a1 <= ay1_port_a(3 downto 0); + modulation_counter_b1 <= ay1_port_a(7 downto 4); + modulation_counter_c1 <= ay1_port_b(3 downto 0); + modulation_counter_a2 <= ay2_port_a(3 downto 0); + modulation_counter_b2 <= ay2_port_a(7 downto 4); + modulation_counter_c2 <= ay2_port_b(3 downto 0); + else + if ssio_modulation_clock = '1' and ssio_modulation_clock_r = '0' then + if modulation_counter_a1 > X"0" then modulation_counter_a1 <= modulation_counter_a1 - 1; end if; + if modulation_counter_b1 > X"0" then modulation_counter_b1 <= modulation_counter_b1 - 1; end if; + if modulation_counter_c1 > X"0" then modulation_counter_c1 <= modulation_counter_c1 - 1; end if; + if modulation_counter_a2 > X"0" then modulation_counter_a2 <= modulation_counter_a2 - 1; end if; + if modulation_counter_b2 > X"0" then modulation_counter_b2 <= modulation_counter_b2 - 1; end if; + if modulation_counter_c2 > X"0" then modulation_counter_c2 <= modulation_counter_c2 - 1; end if; + end if; + end if; + + case ay1_audio_chan is + when "00" => if modulation_counter_a1 = x"0" then ch_a1 <= ay1_audio_muxed; else ch_a1 <= (others => '0'); end if; + when "01" => if modulation_counter_b1 = x"0" then ch_b1 <= ay1_audio_muxed; else ch_b1 <= (others => '0'); end if; + when "10" => if modulation_counter_c1 = x"0" then ch_c1 <= ay1_audio_muxed; else ch_c1 <= (others => '0'); end if; + when others => null; + end case; + + case ay2_audio_chan is + when "00" => if modulation_counter_a2 = x"0" then ch_a2 <= ay2_audio_muxed; else ch_a2 <= (others => '0'); end if; + when "01" => if modulation_counter_b2 = x"0" then ch_b2 <= ay2_audio_muxed; else ch_b2 <= (others => '0'); end if; + when "10" => if modulation_counter_c2 = x"0" then ch_c2 <= ay2_audio_muxed; else ch_c2 <= (others => '0'); end if; + when others => null; + end case; + +-- volume_ch1 <= K_volume(to_integer(unsigned(ay1_port_b(6 downto 4)))); +---- volume_ch2 <= K_volume(to_integer(unsigned(ay2_port_b(6 downto 4)))); +-- volume_ch2 <= K_volume(to_integer(unsigned(ay1_port_b(6 downto 4)))); -- use ch1 control otherwise ch2 is always OFF! + + volume_ch1 <= X"FF"; -- finaly don't use volume controls + volume_ch2 <= X"FF"; + + if ay1_audio_chan = "00" then + snd_1 <= (("00"&ch_a1) + ("00"&ch_b1) + ("00"&ch_c1)) * volume_ch1; + end if; + + if ay2_audio_chan = "00" then + snd_2 <= (("00"&ch_a2) + ("00"&ch_b2) + ("00"&ch_c2)) * volume_ch2; + end if; + + end if; +end process; + +snd_mono <= ('0'&snd_1) + ('0'&snd_2); + +audio_out_l <= snd_1(17 downto 2) when separate_audio = '1' else snd_mono(18 downto 3); +audio_out_r <= snd_2(17 downto 2) when separate_audio = '1' else snd_mono(18 downto 3); + +------------------------------ +-- components & sound board -- +------------------------------ + +-- microprocessor Z80 +cpu : entity work.T80se +generic map(Mode => 0, T2Write => 1, IOWait => 1) +port map( + RESET_n => reset_n, + CLK_n => clock_snd, + CLKEN => cpu_ena, + WAIT_n => '1', + INT_n => cpu_irq_n, + NMI_n => '1', --cpu_nmi_n, + BUSRQ_n => '1', + M1_n => cpu_m1_n, + MREQ_n => cpu_mreq_n, + IORQ_n => cpu_ioreq_n, + RD_n => cpu_rd_n, + WR_n => cpu_wr_n, + RFSH_n => open, + HALT_n => open, + BUSAK_n => open, + A => cpu_addr, + DI => cpu_di, + DO => cpu_do +); + +cpu_rom_addr <= cpu_addr(13 downto 0); + + +-- working RAM 0x8000-0x83FF +wram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 10) +port map( + clk => clock_sndn, + we => wram_we, + addr => cpu_addr(9 downto 0), + d => cpu_do, + q => wram_do +); + +-- iram (command from main cpu to sound cpu) +process (clock_snd, reset, ssio_iowe) +begin + if reset = '1' then + iram_0_do <= (others => '0'); + iram_1_do <= (others => '0'); + iram_2_do <= (others => '0'); + iram_3_do <= (others => '0'); + else + if rising_edge(clock_snd) then + if ssio_iowe = '1' and main_cpu_addr(7 downto 2) = "000111" then -- 0x1C - 0x1F + case main_cpu_addr(1 downto 0) is + when "00" => iram_0_do <= ssio_di; + when "01" => iram_1_do <= ssio_di; + when "10" => iram_2_do <= ssio_di; + when "11" => iram_3_do <= ssio_di; + when others => null; + end case; + end if; + end if; + end if; +end process; + +-- AY-3-8910 # 1 +ay_3_8910_1 : entity work.YM2149 +port map( + -- data bus + I_DA => cpu_do, -- in std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA => ay1_do, -- out std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA_OE_L => open, -- out std_logic; + -- control + I_A9_L => '0', -- in std_logic; -- pin 24 + I_A8 => '1', -- in std_logic; -- pin 25 + I_BDIR => ay1_bdir, -- in std_logic; -- pin 27 + I_BC2 => '1', -- in std_logic; -- pin 28 + I_BC1 => ay1_bc1, -- in std_logic; -- pin 29 + I_SEL_L => '0', -- in std_logic; + + O_AUDIO => ay1_audio_muxed, -- out std_logic_vector(7 downto 0); + O_CHAN => ay1_audio_chan, -- out std_logic_vector(1 downto 0); + + -- port a + I_IOA => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA => ay1_port_a, -- out std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA_OE_L => open, -- out std_logic; + -- port b + I_IOB => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB => ay1_port_b, -- out std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB_OE_L => open, -- out std_logic; + + ENA => cpu_ena, -- in std_logic; -- clock enable for higher speed operation + RESET_L => reset_n, -- in std_logic; + CLK => clock_snd -- in std_logic -- note 6 Mhz +); + + +-- AY-3-8910 # 2 +ay_3_8910_2 : entity work.YM2149 +port map( + -- data bus + I_DA => cpu_do, -- in std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA => ay2_do, -- out std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA_OE_L => open, -- out std_logic; + -- control + I_A9_L => '0', -- in std_logic; -- pin 24 + I_A8 => '1', -- in std_logic; -- pin 25 + I_BDIR => ay2_bdir, -- in std_logic; -- pin 27 + I_BC2 => '1', -- in std_logic; -- pin 28 + I_BC1 => ay2_bc1, -- in std_logic; -- pin 29 + I_SEL_L => '0', -- in std_logic; + + O_AUDIO => ay2_audio_muxed, -- out std_logic_vector(7 downto 0); + O_CHAN => ay2_audio_chan, -- out std_logic_vector(1 downto 0); + + -- port a + I_IOA => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA => ay2_port_a, -- out std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA_OE_L => open, -- out std_logic; + -- port b + I_IOB => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB => ay2_port_b, -- out std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB_OE_L => open, -- out std_logic; + + ENA => cpu_ena, -- in std_logic; -- clock enable for higher speed operation + RESET_L => reset_n, -- in std_logic; + CLK => clock_snd -- in std_logic -- note 6 Mhz +); + +-- midway ssio sound modulation prom +midssio : entity work.midssio_82s123 +port map( + clk => clock_sndn, + addr => ssio_82s123_addr, + data => ssio_82s123_do +); + +end struct; \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/sdram.sv b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/sdram.sv new file mode 100644 index 00000000..49ea563d --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Journey_MiST/rtl/sdram.sv @@ -0,0 +1,343 @@ +// +// sdram.v +// +// sdram controller implementation for the MiST board +// https://github.com/mist-devel/mist-board +// +// Copyright (c) 2013 Till Harbaum +// Copyright (c) 2019 Gyorgy Szombathelyi +// +// This source file is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This source file is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// + +module sdram ( + + // interface to the MT48LC16M16 chip + inout reg [15:0] SDRAM_DQ, // 16 bit bidirectional data bus + output reg [12:0] SDRAM_A, // 13 bit multiplexed address bus + output reg SDRAM_DQML, // two byte masks + output reg SDRAM_DQMH, // two byte masks + output reg [1:0] SDRAM_BA, // two banks + output SDRAM_nCS, // a single chip select + output SDRAM_nWE, // write enable + output SDRAM_nRAS, // row address select + output SDRAM_nCAS, // columns address select + + // cpu/chipset interface + input init_n, // init signal after FPGA config to initialize RAM + input clk, // sdram clock + + input port1_req, + output reg port1_ack, + input port1_we, + input [23:1] port1_a, + input [1:0] port1_ds, + input [15:0] port1_d, + output reg [15:0] port1_q, + + input [16:1] cpu1_addr, + output reg [15:0] cpu1_q, + input [16:1] cpu2_addr, + output reg [15:0] cpu2_q, + + input port2_req, + output reg port2_ack, + input port2_we, + input [23:1] port2_a, + input [1:0] port2_ds, + input [15:0] port2_d, + output reg [31:0] port2_q, + + input [16:2] sp_addr, + output reg [31:0] sp_q +); + +localparam RASCAS_DELAY = 3'd2; // tRCD=20ns -> 2 cycles@<100MHz +localparam BURST_LENGTH = 3'b001; // 000=1, 001=2, 010=4, 011=8 +localparam ACCESS_TYPE = 1'b0; // 0=sequential, 1=interleaved +localparam CAS_LATENCY = 3'd2; // 2/3 allowed +localparam OP_MODE = 2'b00; // only 00 (standard operation) allowed +localparam NO_WRITE_BURST = 1'b1; // 0= write burst enabled, 1=only single access write + +localparam MODE = { 3'b000, NO_WRITE_BURST, OP_MODE, CAS_LATENCY, ACCESS_TYPE, BURST_LENGTH}; + +// 64ms/8192 rows = 7.8us -> 842 cycles@108MHz +localparam RFRSH_CYCLES = 10'd842; + +// --------------------------------------------------------------------- +// ------------------------ cycle state machine ------------------------ +// --------------------------------------------------------------------- + +/* + SDRAM state machine for 2 bank interleaved access + 1 word burst, CL2 +cmd issued registered + 0 RAS0 cas1 - data0 read burst terminated + 1 ras0 + 2 data1 returned + 3 CAS0 data1 returned + 4 RAS1 cas0 + 5 ras1 + 6 CAS1 data0 returned +*/ + +localparam STATE_RAS0 = 3'd0; // first state in cycle +localparam STATE_RAS1 = 3'd4; // Second ACTIVE command after RAS0 + tRRD (15ns) +localparam STATE_CAS0 = STATE_RAS0 + RASCAS_DELAY + 1'd1; // CAS phase - 3 +localparam STATE_CAS1 = STATE_RAS1 + RASCAS_DELAY; // CAS phase - 6 +localparam STATE_READ0 = 3'd0;// STATE_CAS0 + CAS_LATENCY + 2'd2; // 7 +localparam STATE_READ1 = 3'd3; +localparam STATE_DS1b = 3'd0; +localparam STATE_READ1b = 3'd4; +localparam STATE_LAST = 3'd6; + +reg [2:0] t; + +always @(posedge clk) begin + t <= t + 1'd1; + if (t == STATE_LAST) t <= STATE_RAS0; +end + +// --------------------------------------------------------------------- +// --------------------------- startup/reset --------------------------- +// --------------------------------------------------------------------- + +// wait 1ms (32 8Mhz cycles) after FPGA config is done before going +// into normal operation. Initialize the ram in the last 16 reset cycles (cycles 15-0) +reg [4:0] reset; +reg init = 1'b1; +always @(posedge clk, negedge init_n) begin + if(!init_n) begin + reset <= 5'h1f; + init <= 1'b1; + end else begin + if((t == STATE_LAST) && (reset != 0)) reset <= reset - 5'd1; + init <= !(reset == 0); + end +end + +// --------------------------------------------------------------------- +// ------------------ generate ram control signals --------------------- +// --------------------------------------------------------------------- + +// all possible commands +localparam CMD_INHIBIT = 4'b1111; +localparam CMD_NOP = 4'b0111; +localparam CMD_ACTIVE = 4'b0011; +localparam CMD_READ = 4'b0101; +localparam CMD_WRITE = 4'b0100; +localparam CMD_BURST_TERMINATE = 4'b0110; +localparam CMD_PRECHARGE = 4'b0010; +localparam CMD_AUTO_REFRESH = 4'b0001; +localparam CMD_LOAD_MODE = 4'b0000; + +reg [3:0] sd_cmd; // current command sent to sd ram +reg [15:0] sd_din; +// drive control signals according to current command +assign SDRAM_nCS = sd_cmd[3]; +assign SDRAM_nRAS = sd_cmd[2]; +assign SDRAM_nCAS = sd_cmd[1]; +assign SDRAM_nWE = sd_cmd[0]; + +reg [24:1] addr_latch[2]; +reg [24:1] addr_latch_next[2]; +reg [16:1] addr_last[2]; +reg [16:2] addr_last2[2]; +reg [15:0] din_latch[2]; +reg [1:0] oe_latch; +reg [1:0] we_latch; +reg [1:0] ds[2]; + +localparam PORT_NONE = 2'd0; +localparam PORT_CPU1 = 2'd1; +localparam PORT_CPU2 = 2'd2; +localparam PORT_SP = 2'd1; +localparam PORT_REQ = 2'd3; + +reg [1:0] next_port[2]; +reg [1:0] port[2]; + +reg refresh; +reg [10:0] refresh_cnt; +wire need_refresh = (refresh_cnt >= RFRSH_CYCLES); + +// PORT1: bank 0,1 +always @(*) begin + if (refresh) begin + next_port[0] = PORT_NONE; + addr_latch_next[0] = addr_latch[0]; + end else if (port1_req ^ port1_ack) begin + next_port[0] = PORT_REQ; + addr_latch_next[0] = { 1'b0, port1_a }; + end else if (cpu1_addr != addr_last[PORT_CPU1]) begin + next_port[0] = PORT_CPU1; + addr_latch_next[0] = { 8'd0, cpu1_addr }; + end else if (cpu2_addr != addr_last[PORT_CPU2]) begin + next_port[0] = PORT_CPU2; + addr_latch_next[0] = { 8'd0, cpu2_addr }; + end else begin + next_port[0] = PORT_NONE; + addr_latch_next[0] = addr_latch[0]; + end +end + +// PORT1: bank 2,3 +always @(*) begin + if (port2_req ^ port2_ack) begin + next_port[1] = PORT_REQ; + addr_latch_next[1] = { 1'b1, port2_a }; + end else if (sp_addr != addr_last2[PORT_SP]) begin + next_port[1] = PORT_SP; + addr_latch_next[1] = { 1'b1, 7'd0, sp_addr, 1'b0 }; + end else begin + next_port[1] = PORT_NONE; + addr_latch_next[1] = addr_latch[1]; + end +end + +always @(posedge clk) begin + + // permanently latch ram data to reduce delays + sd_din <= SDRAM_DQ; + SDRAM_DQ <= 16'bZZZZZZZZZZZZZZZZ; + { SDRAM_DQMH, SDRAM_DQML } <= 2'b11; + sd_cmd <= CMD_NOP; // default: idle + refresh_cnt <= refresh_cnt + 1'd1; + + if(init) begin + // initialization takes place at the end of the reset phase + if(t == STATE_RAS0) begin + + if(reset == 15) begin + sd_cmd <= CMD_PRECHARGE; + SDRAM_A[10] <= 1'b1; // precharge all banks + end + + if(reset == 10 || reset == 8) begin + sd_cmd <= CMD_AUTO_REFRESH; + end + + if(reset == 2) begin + sd_cmd <= CMD_LOAD_MODE; + SDRAM_A <= MODE; + SDRAM_BA <= 2'b00; + end + end + end else begin + // RAS phase + // bank 0,1 + if(t == STATE_RAS0) begin + addr_latch[0] <= addr_latch_next[0]; + port[0] <= next_port[0]; + { oe_latch[0], we_latch[0] } <= 2'b00; + + if (next_port[0] != PORT_NONE) begin + sd_cmd <= CMD_ACTIVE; + SDRAM_A <= addr_latch_next[0][22:10]; + SDRAM_BA <= addr_latch_next[0][24:23]; + addr_last[next_port[0]] <= addr_latch_next[0][16:1]; + if (next_port[0] == PORT_REQ) begin + { oe_latch[0], we_latch[0] } <= { ~port1_we, port1_we }; + ds[0] <= port1_ds; + din_latch[0] <= port1_d; + end else begin + { oe_latch[0], we_latch[0] } <= 2'b10; + ds[0] <= 2'b11; + end + end + end + + // bank 2,3 + if(t == STATE_RAS1) begin + refresh <= 1'b0; + addr_latch[1] <= addr_latch_next[1]; + { oe_latch[1], we_latch[1] } <= 2'b00; + port[1] <= next_port[1]; + + if (next_port[1] != PORT_NONE) begin + sd_cmd <= CMD_ACTIVE; + SDRAM_A <= addr_latch_next[1][22:10]; + SDRAM_BA <= addr_latch_next[1][24:23]; + addr_last2[next_port[1]] <= addr_latch_next[1][16:2]; + if (next_port[1] == PORT_REQ) begin + { oe_latch[1], we_latch[1] } <= { ~port1_we, port1_we }; + ds[1] <= port2_ds; + din_latch[1] <= port2_d; + end else begin + { oe_latch[1], we_latch[1] } <= 2'b10; + ds[1] <= 2'b11; + end + end + + if (next_port[1] == PORT_NONE && need_refresh && !we_latch[0] && !oe_latch[0]) begin + refresh <= 1'b1; + refresh_cnt <= 0; + sd_cmd <= CMD_AUTO_REFRESH; + end + end + + // CAS phase + if(t == STATE_CAS0 && (we_latch[0] || oe_latch[0])) begin + sd_cmd <= we_latch[0]?CMD_WRITE:CMD_READ; + { SDRAM_DQMH, SDRAM_DQML } <= ~ds[0]; + if (we_latch[0]) begin + SDRAM_DQ <= din_latch[0]; + port1_ack <= port1_req; + end + SDRAM_A <= { 4'b0010, addr_latch[0][9:1] }; // auto precharge + SDRAM_BA <= addr_latch[0][24:23]; + end + + if(t == STATE_CAS1 && (we_latch[1] || oe_latch[1])) begin + sd_cmd <= we_latch[1]?CMD_WRITE:CMD_READ; + { SDRAM_DQMH, SDRAM_DQML } <= ~ds[1]; + if (we_latch[1]) begin + SDRAM_DQ <= din_latch[1]; + port2_ack <= port2_req; + end + SDRAM_A <= { 4'b0010, addr_latch[1][9:1] }; // auto precharge + SDRAM_BA <= addr_latch[1][24:23]; + end + + // Data returned + if(t == STATE_READ0 && oe_latch[0]) begin + case(port[0]) + PORT_REQ: begin port1_q <= sd_din; port1_ack <= port1_req; end + PORT_CPU1: begin cpu1_q <= sd_din; end + PORT_CPU2: begin cpu2_q <= sd_din; end + default: ; + endcase; + end + + if(t == STATE_READ1 && oe_latch[1]) begin + case(port[1]) + PORT_REQ: port2_q[15:0] <= sd_din; + PORT_SP : sp_q[15:0] <= sd_din; + default: ; + endcase; + end + + if(t == STATE_DS1b && oe_latch[1]) { SDRAM_DQMH, SDRAM_DQML } <= ~ds[1]; + + if(t == STATE_READ1b && oe_latch[1]) begin + case(port[1]) + PORT_REQ: begin port2_q[31:16] <= sd_din; port2_ack <= port2_req; end + PORT_SP : begin sp_q[31:16] <= sd_din; end + default: ; + endcase; + end + end +end + +endmodule diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr.jpg b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr.jpg new file mode 100644 index 0000000000000000000000000000000000000000..23749b60e775be634991086f93ff293f837f0bb3 GIT binary patch literal 13943 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 RJnQq{MBo463Hklu{{{H>WQ70# literal 0 HcmV?d00001 diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/Kroozr.qpf b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/Kroozr.qpf new file mode 100644 index 00000000..a9ed9237 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/Kroozr.qpf @@ -0,0 +1,30 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2013 Altera Corporation +# Your use of Altera Corporation's design tools, logic functions +# and other software and tools, and its AMPP partner logic +# functions, and any output files from any of the foregoing +# (including device programming or simulation files), and any +# associated documentation or information are expressly subject +# to the terms and conditions of the Altera Program License +# Subscription Agreement, Altera MegaCore Function License +# Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Altera and sold by +# Altera or its authorized distributors. Please refer to the +# applicable agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus II 64-Bit +# Version 13.1.0 Build 162 10/23/2013 SJ Web Edition +# Date created = 13:02:51 November 09, 2019 +# +# -------------------------------------------------------------------------- # + +QUARTUS_VERSION = "13.1" +DATE = "13:02:51 November 09, 2019" + +# Revisions + +PROJECT_REVISION = "Kroozr" diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/Kroozr.qsf b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/Kroozr.qsf new file mode 100644 index 00000000..0556f899 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/Kroozr.qsf @@ -0,0 +1,232 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2013 Altera Corporation +# Your use of Altera Corporation's design tools, logic functions +# and other software and tools, and its AMPP partner logic +# functions, and any output files from any of the foregoing +# (including device programming or simulation files), and any +# associated documentation or information are expressly subject +# to the terms and conditions of the Altera Program License +# Subscription Agreement, Altera MegaCore Function License +# Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Altera and sold by +# Altera or its authorized distributors. Please refer to the +# applicable agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus II 64-Bit +# Version 13.1.0 Build 162 10/23/2013 SJ Web Edition +# Date created = 23:37:34 November 13, 2019 +# +# -------------------------------------------------------------------------- # +# +# Notes: +# +# 1) The default values for assignments are stored in the file: +# Kroozr_assignment_defaults.qdf +# If this file doesn't exist, see file: +# assignment_defaults.qdf +# +# 2) Altera recommends that you do not modify this file. This +# file is updated automatically by the Quartus II software +# and any changes you make may be lost or overwritten. +# +# -------------------------------------------------------------------------- # + + + +# Project-Wide Assignments +# ======================== +set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files +set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL +set_global_assignment -name LAST_QUARTUS_VERSION 13.1 +set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl" + +# Pin & Location Assignments +# ========================== +set_location_assignment PIN_7 -to LED +set_location_assignment PIN_54 -to CLOCK_27 +set_location_assignment PIN_144 -to VGA_R[5] +set_location_assignment PIN_143 -to VGA_R[4] +set_location_assignment PIN_142 -to VGA_R[3] +set_location_assignment PIN_141 -to VGA_R[2] +set_location_assignment PIN_137 -to VGA_R[1] +set_location_assignment PIN_135 -to VGA_R[0] +set_location_assignment PIN_133 -to VGA_B[5] +set_location_assignment PIN_132 -to VGA_B[4] +set_location_assignment PIN_125 -to VGA_B[3] +set_location_assignment PIN_121 -to VGA_B[2] +set_location_assignment PIN_120 -to VGA_B[1] +set_location_assignment PIN_115 -to VGA_B[0] +set_location_assignment PIN_114 -to VGA_G[5] +set_location_assignment PIN_113 -to VGA_G[4] +set_location_assignment PIN_112 -to VGA_G[3] +set_location_assignment PIN_111 -to VGA_G[2] +set_location_assignment PIN_110 -to VGA_G[1] +set_location_assignment PIN_106 -to VGA_G[0] +set_location_assignment PIN_136 -to VGA_VS +set_location_assignment PIN_119 -to VGA_HS +set_location_assignment PIN_65 -to AUDIO_L +set_location_assignment PIN_80 -to AUDIO_R +set_location_assignment PIN_105 -to SPI_DO +set_location_assignment PIN_88 -to SPI_DI +set_location_assignment PIN_126 -to SPI_SCK +set_location_assignment PIN_127 -to SPI_SS2 +set_location_assignment PIN_91 -to SPI_SS3 +set_location_assignment PIN_13 -to CONF_DATA0 +set_location_assignment PIN_49 -to SDRAM_A[0] +set_location_assignment PIN_44 -to SDRAM_A[1] +set_location_assignment PIN_42 -to SDRAM_A[2] +set_location_assignment PIN_39 -to SDRAM_A[3] +set_location_assignment PIN_4 -to SDRAM_A[4] +set_location_assignment PIN_6 -to SDRAM_A[5] +set_location_assignment PIN_8 -to SDRAM_A[6] +set_location_assignment PIN_10 -to SDRAM_A[7] +set_location_assignment PIN_11 -to SDRAM_A[8] +set_location_assignment PIN_28 -to SDRAM_A[9] +set_location_assignment PIN_50 -to SDRAM_A[10] +set_location_assignment PIN_30 -to SDRAM_A[11] +set_location_assignment PIN_32 -to SDRAM_A[12] +set_location_assignment PIN_83 -to SDRAM_DQ[0] +set_location_assignment PIN_79 -to SDRAM_DQ[1] +set_location_assignment PIN_77 -to SDRAM_DQ[2] +set_location_assignment PIN_76 -to SDRAM_DQ[3] +set_location_assignment PIN_72 -to SDRAM_DQ[4] +set_location_assignment PIN_71 -to SDRAM_DQ[5] +set_location_assignment PIN_69 -to SDRAM_DQ[6] +set_location_assignment PIN_68 -to SDRAM_DQ[7] +set_location_assignment PIN_86 -to SDRAM_DQ[8] +set_location_assignment PIN_87 -to SDRAM_DQ[9] +set_location_assignment PIN_98 -to SDRAM_DQ[10] +set_location_assignment PIN_99 -to SDRAM_DQ[11] +set_location_assignment PIN_100 -to SDRAM_DQ[12] +set_location_assignment PIN_101 -to SDRAM_DQ[13] +set_location_assignment PIN_103 -to SDRAM_DQ[14] +set_location_assignment PIN_104 -to SDRAM_DQ[15] +set_location_assignment PIN_58 -to SDRAM_BA[0] +set_location_assignment PIN_51 -to SDRAM_BA[1] +set_location_assignment PIN_85 -to SDRAM_DQMH +set_location_assignment PIN_67 -to SDRAM_DQML +set_location_assignment PIN_60 -to SDRAM_nRAS +set_location_assignment PIN_64 -to SDRAM_nCAS +set_location_assignment PIN_66 -to SDRAM_nWE +set_location_assignment PIN_59 -to SDRAM_nCS +set_location_assignment PIN_33 -to SDRAM_CKE +set_location_assignment PIN_43 -to SDRAM_CLK +set_location_assignment PLL_1 -to "pll:pll|altpll:altpll_component" + +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_DQ[*] +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_A[*] +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_BA[0] +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_BA[1] +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_DQMH +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_DQML +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nRAS +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nCAS +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nWE +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_nCS +set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to SDRAM_DQ[*] +set_instance_assignment -name FAST_INPUT_REGISTER ON -to SDRAM_DQ[*] + +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_A[*] +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_DQ[*] +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_BA[*] +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_DQML +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_DQMH +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nRAS +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nCAS +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nWE +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_nCS +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_CKE +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_CLK +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_R[*] +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_G[*] +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_B[*] +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_HS +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to VGA_VS +set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to AUDIO_L +set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to AUDIO_R +set_instance_assignment -name CURRENT_STRENGTH_NEW 4MA -to SPI_DO + +# Classic Timing Assignments +# ========================== +set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0 +set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85 + +# Analysis & Synthesis Assignments +# ================================ +set_global_assignment -name FAMILY "Cyclone III" +set_global_assignment -name TOP_LEVEL_ENTITY Kroozr_MiST +set_global_assignment -name DEVICE_FILTER_PIN_COUNT 144 +set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8 +set_global_assignment -name DEVICE_FILTER_PACKAGE TQFP + +# Fitter Assignments +# ================== +set_global_assignment -name DEVICE EP3C25E144C8 +set_global_assignment -name ENABLE_CONFIGURATION_PINS OFF +set_global_assignment -name ENABLE_NCE_PIN OFF +set_global_assignment -name ENABLE_BOOT_SEL_PIN OFF +set_global_assignment -name CYCLONEIII_CONFIGURATION_SCHEME "PASSIVE SERIAL" +set_global_assignment -name CRC_ERROR_OPEN_DRAIN OFF +set_global_assignment -name FORCE_CONFIGURATION_VCCIO ON +set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL" +set_global_assignment -name CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_DATA0_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_DATA1_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_FLASH_NCE_AFTER_CONFIGURATION "USE AS REGULAR IO" +set_global_assignment -name RESERVE_DCLK_AFTER_CONFIGURATION "USE AS REGULAR IO" + +# Assembler Assignments +# ===================== +set_global_assignment -name GENERATE_RBF_FILE ON +set_global_assignment -name USE_CONFIGURATION_DEVICE OFF + +# Power Estimation Assignments +# ============================ +set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW" +set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" + +# Advanced I/O Timing Assignments +# =============================== +set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -rise +set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -fall +set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -rise +set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -fall + +# ------------------------ +# start ENTITY(Wacko_MiST) + + # start DESIGN_PARTITION(Top) + # --------------------------- + + # Incremental Compilation Assignments + # =================================== +set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top +set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top +set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top + + # end DESIGN_PARTITION(Top) + # ------------------------- + +# end ENTITY(Wacko_MiST) +# ---------------------- +set_global_assignment -name SYSTEMVERILOG_FILE rtl/Kroozr_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/cmos_ram.vhd +set_global_assignment -name VHDL_FILE rtl/rom/kroozr_bg_bits_2.vhd +set_global_assignment -name VHDL_FILE rtl/rom/kroozr_bg_bits_1.vhd +set_global_assignment -name VHDL_FILE rtl/rom/kroozr_sp_bits.vhd +set_global_assignment -name VHDL_FILE rtl/rom/midssio_82s123.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/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 \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/Kroozr.sdc b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/Kroozr.sdc new file mode 100644 index 00000000..80fe5371 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/Kroozr.sdc @@ -0,0 +1,134 @@ +## Generated SDC file "vectrex_MiST.out.sdc" + +## Copyright (C) 1991-2013 Altera Corporation +## Your use of Altera Corporation's design tools, logic functions +## and other software and tools, and its AMPP partner logic +## functions, and any output files from any of the foregoing +## (including device programming or simulation files), and any +## associated documentation or information are expressly subject +## to the terms and conditions of the Altera Program License +## Subscription Agreement, Altera MegaCore Function License +## Agreement, or other applicable license agreement, including, +## without limitation, that your use is for the sole purpose of +## programming logic devices manufactured by Altera and sold by +## Altera or its authorized distributors. Please refer to the +## applicable agreement for further details. + + +## VENDOR "Altera" +## PROGRAM "Quartus II" +## VERSION "Version 13.1.0 Build 162 10/23/2013 SJ Web Edition" + +## DATE "Sun Jun 24 12:53:00 2018" + +## +## DEVICE "EP3C25E144C8" +## + +# Clock constraints + +# Automatically constrain PLL and other generated clocks +derive_pll_clocks -create_base_clocks + +# Automatically calculate clock uncertainty to jitter and other effects. +derive_clock_uncertainty + +# tsu/th constraints + +# tco constraints + +# tpd constraints + +#************************************************************** +# Time Information +#************************************************************** + +set_time_format -unit ns -decimal_places 3 + + + +#************************************************************** +# Create Clock +#************************************************************** + +create_clock -name {SPI_SCK} -period 41.666 -waveform { 20.8 41.666 } [get_ports {SPI_SCK}] + +set sys_clk "pll|altpll_component|auto_generated|pll1|clk[0]" +set sdram_clk "pll|altpll_component|auto_generated|pll1|clk[0]" +#************************************************************** +# Create Generated Clock +#************************************************************** + + +#************************************************************** +# Set Clock Latency +#************************************************************** + + + +#************************************************************** +# Set Clock Uncertainty +#************************************************************** + +#************************************************************** +# Set Input Delay +#************************************************************** + +set_input_delay -add_delay -clock_fall -clock [get_clocks {CLOCK_27}] 1.000 [get_ports {CLOCK_27}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {CONF_DATA0}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_DI}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SCK}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SS2}] +set_input_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SS3}] + +set_input_delay -clock [get_clocks $sdram_clk] -reference_pin [get_ports {SDRAM_CLK}] -max 6.6 [get_ports SDRAM_DQ[*]] +set_input_delay -clock [get_clocks $sdram_clk] -reference_pin [get_ports {SDRAM_CLK}] -min 3.5 [get_ports SDRAM_DQ[*]] + +#************************************************************** +# Set Output Delay +#************************************************************** + +set_output_delay -add_delay -clock_fall -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_DO}] +set_output_delay -add_delay -clock_fall -clock [get_clocks $sys_clk] 1.000 [get_ports {AUDIO_L}] +set_output_delay -add_delay -clock_fall -clock [get_clocks $sys_clk] 1.000 [get_ports {AUDIO_R}] +set_output_delay -add_delay -clock_fall -clock [get_clocks $sys_clk] 1.000 [get_ports {LED}] +set_output_delay -add_delay -clock_fall -clock [get_clocks $sys_clk] 1.000 [get_ports {VGA_*}] + +set_output_delay -clock [get_clocks $sdram_clk] -reference_pin [get_ports {SDRAM_CLK}] -max 1.5 [get_ports {SDRAM_D* SDRAM_A* SDRAM_BA* SDRAM_n* SDRAM_CKE}] +set_output_delay -clock [get_clocks $sdram_clk] -reference_pin [get_ports {SDRAM_CLK}] -min -0.8 [get_ports {SDRAM_D* SDRAM_A* SDRAM_BA* SDRAM_n* SDRAM_CKE}] + +#************************************************************** +# Set Clock Groups +#************************************************************** + +set_clock_groups -asynchronous -group [get_clocks {SPI_SCK}] -group [get_clocks {pll|altpll_component|auto_generated|pll1|clk[*]}] + +#************************************************************** +# Set False Path +#************************************************************** + + + +#************************************************************** +# Set Multicycle Path +#************************************************************** + +set_multicycle_path -to {VGA_*[*]} -setup 2 +set_multicycle_path -to {VGA_*[*]} -hold 1 + +#************************************************************** +# Set Maximum Delay +#************************************************************** + + + +#************************************************************** +# Set Minimum Delay +#************************************************************** + + + +#************************************************************** +# Set Input Transition +#************************************************************** + diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/README.txt b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/README.txt new file mode 100644 index 00000000..70bf46eb --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/README.txt @@ -0,0 +1,321 @@ +--------------------------------------------------------------------------------- +-- +-- Arcade: Kroozr port to MiST by Gehstock +-- 10 November 2019 +-- +-- VGA/TV +-- Control Kroozr with the mouse, shot with the joystick + +--------------------------------------------------------------------------------- +-- DE10_lite Top level for Kick (Midway MCR) by Dar (darfpga@aol.fr) (19/10/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +-- 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) +-- /!\ +-- Don't forget to set device configuration mode with memory initialization +-- (Assignments/Device/Pin options/Configuration mode) +--------------------------------------------------------------------------------- +-- +-- Main features : +-- PS2 keyboard input @gpio pins 35/34 (beware voltage translation/protection) +-- Audio pwm output @gpio pins 1/3 (beware voltage translation/protection) +-- +-- Video : 31Khz/60Hz +-- Cocktail mode : NO +-- Sound : OK +-- +-- For hardware schematic see my other project : NES +-- +-- Uses 1 pll 40MHz from 50MHz to make 20MHz and 8Mhz +-- +-- Board key : +-- 0 : reset game +-- +-- Keyboard players inputs : +-- +-- F3 : Add coin +-- F2 : Start 2 players +-- F1 : Start 1 player +-- SPACE : move faster +-- RIGHT arrow : move right +-- LEFT arrow : move left +-- UP arrow : toggle service mode ON/OFF +-- DOWN arrow : kick +-- +-- Other details : see kick.vhd +-- For USB inputs and SGT5000 audio output see my other project: xevious_de10_lite + +--------------------------------------------------------------------------------- +-- Kick by Dar (darfpga@aol.fr) (19/10/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +-- gen_ram.vhd & io_ps2_keyboard +-------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +--------------------------------------------------------------------------------- +-- T80/T80se - Version : 304 +----------------------------- +-- Z80 compatible microprocessor core +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +--------------------------------------------------------------------------------- +-- YM2149 (AY-3-8910) +-- Copyright (c) MikeJ - Jan 2005 +--------------------------------------------------------------------------------- +-- Educational use only +-- Do not redistribute synthetized file with roms +-- Do not redistribute roms whatever the form +-- Use at your own risk +--------------------------------------------------------------------------------- + +-- Features : +-- Video : 31Khz/60Hz +-- Coctail mode : NO +-- Sound : OK + +-- Use with MAME roms from kick.zip and midssio.zip +-- +-- Use make_kick_proms.bat to build vhd file from binaries +-- (CRC list included) + +-- Kick/Kickman (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 +-- +-- One char/background tile map 30x32 +-- 2x4Kx8bits graphics rom 4bits/pixel +-- rbg programmable ram palette 16 colors 12bits : 4red 4green 4blue +-- +-- 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 +-- +-- Working ram : 2Kx8bits +-- video (char/background) ram : 1Kx8bits +-- Sprites ram : 512x8bits + 512x8bits cache buffer + +-- Sprites line buffer rams : 1 scan line delay flip/flop 2x256x8bits +-- +-- SOUND : see Kick_sound_board.vhd + +--------------------------------------------------------------------------------- +-- Schematics remarks : +-- +-- 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) +-- +-- Original video is interlaced 240 display lines per 1/2 frame +-- +-- H0 and V0 are not use for background => each bg tile is 16x16 pixel but +-- background graphics is 2x2 pixels defintion. +-- +-- Sprite are 32x32 pixels with 1x1 pixel definition, 16 lines for odd 1/2 +-- frame and 16 lines for even 2/2 frame thanks to V8 on sprite rom ROMAD2 +-- (look at 74ls86 G1 pin 9 on video genration board schematics) +-- +-- *H and V stand for Horizontal en Vertical counter (Hcnt, Vcnt in VHDL code) +-- +-- /!\ For VHDL port interlaced video mode is replaced with progressive video +-- mode. +-- +-- 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 +-- buffer is access by transfer address counter during 2 scanlines after +-- visible area and only by sprite machine during visible area. +-- +-- Thus cpu can read and update sprites position during entire frame except +-- during 2 lines. +-- +-- Sprite data are organised (as seen by cpu F000-F1FF) into 128 * 4bytes. +-- bytes #1 : Vertical position +-- bytes #2 : code and attribute +-- bytes #3 : Horizontal position +-- bytes #4 : not used +-- +-- 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 +-- by hardware signal line 493. channel 0 to 2 are in timer mode. Schematic +-- 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 ; +; 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 ; +; 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 pins ; 105 / 360 ( 29 % ) ; +; Total virtual pins ; 0 ; +; Total memory bits ; 700,416 / 1,677,312 ( 42 % ) ; +; 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_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/T80_Reg.vhd +rtl_T80_304/T80_Pack.vhd +rtl_T80_304/T80_MCode.vhd +rtl_T80_304/T80_ALU.vhd +rtl_T80_304/T80.vhd + +rtl_dar/kbd_joystick.vhd Keyboard key to player/coin input +rtl_dar/io_ps2_keyboard.vhd Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +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/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/kick_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 + +----------------------------- +Required ROMs (Not included) +----------------------------- +You need the following 17 ROMs binary files from kick.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 + +2600a-v2.1e CRC 2c5d6b55 +2700b-v2.1d CRC 565ea97d +2800c-v2.1b CRC f3be56a1 +2900d-v2.1a CRC 77da795e + +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 + +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. + +Source code of make_vhdl_prom.c is also delivered. + +--------------------------------- +Compiling for de10_lite +--------------------------------- +You can build the project with ROM image embeded in the sof file. +*DO NOT REDISTRIBUTE THESE FILES* + +3 steps + + - put the VHDL ROM files (.vhd) into the rtl_dar/proms directory + - build kick_de10_lite + - program kick_de10_lite.sof + +------------------------ +------------------------ +End of file +------------------------ diff --git a/Arcade_MiST/Midway MCR 2/Kroozr_MiST/Snapshot/KROOZR.ROM b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/Snapshot/KROOZR.ROM similarity index 100% rename from Arcade_MiST/Midway MCR 2/Kroozr_MiST/Snapshot/KROOZR.ROM rename to Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/Snapshot/KROOZR.ROM diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/clean.bat b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/clean.bat new file mode 100644 index 00000000..b3b7c3b5 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/clean.bat @@ -0,0 +1,37 @@ +@echo off +del /s *.bak +del /s *.orig +del /s *.rej +del /s *~ +rmdir /s /q db +rmdir /s /q incremental_db +rmdir /s /q output_files +rmdir /s /q simulation +rmdir /s /q greybox_tmp +rmdir /s /q hc_output +rmdir /s /q .qsys_edit +rmdir /s /q hps_isw_handoff +rmdir /s /q sys\.qsys_edit +rmdir /s /q sys\vip +cd sys +for /d %%i in (*_sim) do rmdir /s /q "%%~nxi" +cd .. +for /d %%i in (*_sim) do rmdir /s /q "%%~nxi" +del build_id.v +del c5_pin_model_dump.txt +del PLLJ_PLLSPE_INFO.txt +del /s *.qws +del /s *.ppf +del /s *.ddb +del /s *.csv +del /s *.cmp +del /s *.sip +del /s *.spd +del /s *.bsf +del /s *.f +del /s *.sopcinfo +del /s *.xml +del /s new_rtl_netlist +del /s old_rtl_netlist + +pause diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/Kroozr_MiST.sv b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/Kroozr_MiST.sv new file mode 100644 index 00000000..569bd8ec --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/Kroozr_MiST.sv @@ -0,0 +1,324 @@ +//============================================================================ +// Arcade: Wacko by DarFPGA +// +// 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 +// Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +//============================================================================ + +module Kroozr_MiST( + output LED, + output [5:0] VGA_R, + output [5:0] VGA_G, + output [5:0] VGA_B, + output VGA_HS, + output VGA_VS, + output AUDIO_L, + output AUDIO_R, + input SPI_SCK, + output SPI_DO, + input SPI_DI, + input SPI_SS2, + input SPI_SS3, + input CONF_DATA0, + input CLOCK_27, + output [12:0] SDRAM_A, + inout [15:0] SDRAM_DQ, + output SDRAM_DQML, + output SDRAM_DQMH, + output SDRAM_nWE, + output SDRAM_nCAS, + output SDRAM_nRAS, + output SDRAM_nCS, + output [1:0] SDRAM_BA, + output SDRAM_CLK, + output SDRAM_CKE +); + +`include "rtl/build_id.v" + +localparam CONF_STR = { + "KROOZR;;", + "O2,Rotate Controls,Off,On;", + "O34,Scanlines,Off,25%,50%,75%;", + "O5,Blend,Off,On;", + "O6,Service,Off,On;", + "T0,Reset;", + "V,v1.1.",`BUILD_DATE +}; + +assign LED = ~ioctl_downl; +assign SDRAM_CLK = clk_sys; +assign SDRAM_CKE = 1; + +wire rotate = status[2]; + +wire clk_sys; +wire pll_locked; +pll_mist pll( + .inclk0(CLOCK_27), + .areset(0), + .c0(clk_sys), + .locked(pll_locked) + ); + +wire [31:0] status; +wire [1:0] buttons; +wire [1:0] switches; +wire [5:0] joystick_0; +wire [5:0] joystick_1; +wire signed [8:0] mouse_x; +wire signed [8:0] mouse_y; +wire mouse_strobe; +wire scandoublerD; +wire ypbpr; +wire [15:0] audio_l, audio_r; +wire hs, vs, cs; +wire blankn; +wire [2:0] g, r, b; +wire [15:0] rom_addr; +wire [15:0] rom_do; +wire rom_rd; +wire [13:0] snd_addr; +wire [15:0] snd_do; +wire snd_rd; +wire ioctl_downl; +wire [7:0] ioctl_index; +wire ioctl_wr; +wire [24:0] ioctl_addr; +wire [7:0] ioctl_dout; + + +data_io data_io( + .clk_sys ( clk_sys ), + .SPI_SCK ( SPI_SCK ), + .SPI_SS2 ( SPI_SS2 ), + .SPI_DI ( SPI_DI ), + .ioctl_download( ioctl_downl ), + .ioctl_index ( ioctl_index ), + .ioctl_wr ( ioctl_wr ), + .ioctl_addr ( ioctl_addr ), + .ioctl_dout ( ioctl_dout ) +); + +reg port1_req, port2_req; +sdram sdram( + .*, + .init_n ( pll_locked ), + .clk ( clk_sys ), + + // port1 used for main CPU + .port1_req ( port1_req ), + .port1_ack ( ), + .port1_a ( ioctl_addr[23:1] ), + .port1_ds ( {ioctl_addr[0], ~ioctl_addr[0]} ), + .port1_we ( ioctl_downl ), + .port1_d ( {ioctl_dout, ioctl_dout} ), + .port1_q ( ), + + .cpu1_addr ( ioctl_downl ? 15'h7fff : {1'b0, rom_addr[15:1]} ), + .cpu1_q ( rom_do ), + + // port2 for sound board + .port2_req ( port2_req ), + .port2_ack ( ), + .port2_a ( ioctl_addr[23:1] - 16'h5000 ), + .port2_ds ( {ioctl_addr[0], ~ioctl_addr[0]} ), + .port2_we ( ioctl_downl ), + .port2_d ( {ioctl_dout, ioctl_dout} ), + .port2_q ( ), + + .snd_addr ( ioctl_downl ? 15'h7fff : {2'b00, snd_addr[13:1]} ), + .snd_q ( snd_do ) +); + +always @(posedge clk_sys) begin + reg ioctl_wr_last = 0; + + ioctl_wr_last <= ioctl_wr; + if (ioctl_downl) begin + if (~ioctl_wr_last && ioctl_wr) begin + port1_req <= ~port1_req; + port2_req <= ~port2_req; + end + end +end + +reg reset = 1; +reg rom_loaded = 0; +always @(posedge clk_sys) begin + reg ioctl_downlD; + ioctl_downlD <= ioctl_downl; + + if (ioctl_downlD & ~ioctl_downl) rom_loaded <= 1; + reset <= status[0] | buttons[1] | ~rom_loaded; +end + +reg signed [10:0] x_pos; +reg signed [10:0] y_pos; + +always @(posedge clk_sys) begin + 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 + +satans_hollow satans_hollow( + .clock_40(clk_sys), + .reset(reset), + .video_r(r), + .video_g(g), + .video_b(b), + .video_blankn(blankn), + .video_hs(hs), + .video_vs(vs), + .video_csync(cs), + .tv15Khz_mode(scandoublerD), + .separate_audio(1'b0), + .audio_out_l(audio_l), + .audio_out_r(audio_r), + .coin1(btn_coin), + .coin2(1'b0), + .start2(btn_two_players), + .start1(btn_one_player), + //Controls + .analog_x(x_pos[10:3]), + .analog_y(y_pos[10:3]), + .fire1(m_fire), + .fire2(m_bomb), + .cocktail(0), +// .coin_meters(1), + .service(status[6]), + .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] ) +); + +wire vs_out; +wire hs_out; +assign VGA_VS = scandoublerD | vs_out; +assign VGA_HS = scandoublerD ? cs : hs_out; + +mist_video #(.COLOR_DEPTH(3 ), .SD_HCNT_WIDTH(10)) mist_video( + .clk_sys ( clk_sys ), + .SPI_SCK ( SPI_SCK ), + .SPI_SS3 ( SPI_SS3 ), + .SPI_DI ( SPI_DI ), + .R ( blankn ? r : 0 ), + .G ( blankn ? g : 0 ), + .B ( blankn ? b : 0 ), + .HSync ( hs ), + .VSync ( vs ), + .VGA_R ( VGA_R ), + .VGA_G ( VGA_G ), + .VGA_B ( VGA_B ), + .VGA_VS ( vs_out ), + .VGA_HS ( hs_out ), + .ce_divider ( 1 ), + .blend ( status[5] ), + .rotate ( {1'b1, rotate} ), + .scandoubler_disable( 1'b1 ), + .no_csync ( 1'b1 ), + .scanlines ( status[4:3] ), + .ypbpr ( ypbpr ) + ); + +user_io #( + .STRLEN(($size(CONF_STR)>>3))) +user_io( + .clk_sys (clk_sys ), + .conf_str (CONF_STR ), + .SPI_CLK (SPI_SCK ), + .SPI_SS_IO (CONF_DATA0 ), + .SPI_MISO (SPI_DO ), + .SPI_MOSI (SPI_DI ), + .buttons (buttons ), + .switches (switches ), + .scandoubler_disable (scandoublerD ), + .ypbpr (ypbpr ), + .joystick_0 (joystick_0 ), + .joystick_1 (joystick_1 ), + .key_strobe (key_strobe ), + .key_pressed (key_pressed ), + .key_code (key_code ), + .mouse_x (mouse_x ), + .mouse_y (mouse_y ), + .mouse_strobe (mouse_strobe ), + .status (status ) + ); + +dac #( + .C_bits(16)) +dac_l( + .clk_i(clk_sys), + .res_n_i(1), + .dac_i(audio_l), + .dac_o(AUDIO_L) + ); + +dac #( + .C_bits(16)) +dac_r( + .clk_i(clk_sys), + .res_n_i(1), + .dac_i(audio_r), + .dac_o(AUDIO_R) + ); + +// Rotated Normal +wire m_up = rotate ? btn_right | joystick_0[0] | joystick_1[0] : btn_up | joystick_0[3] | joystick_1[3]; +wire m_down = rotate ? btn_left | joystick_0[1] | joystick_1[1] : btn_down | joystick_0[2] | joystick_1[2]; +wire m_left = rotate ? btn_up | joystick_0[3] | joystick_1[3] : btn_left | joystick_0[1] | joystick_1[1]; +wire m_right = rotate ? btn_down | joystick_0[2] | joystick_1[2] : 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; + +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 + end +end + +endmodule diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/YM2149_linmix_sep.vhd b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/YM2149_linmix_sep.vhd new file mode 100644 index 00000000..6ed2498a --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/YM2149_linmix_sep.vhd @@ -0,0 +1,574 @@ +-- changes for seperate audio outputs and enable now enables cpu access as well +-- +-- A simulation model of YM2149 (AY-3-8910 with bells on) + +-- Copyright (c) MikeJ - Jan 2005 +-- +-- All rights reserved +-- +-- Redistribution and use in source and synthezised forms, with or without +-- modification, are permitted provided that the following conditions are met: +-- +-- Redistributions of source code must retain the above copyright notice, +-- this list of conditions and the following disclaimer. +-- +-- Redistributions in synthesized form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- Neither the name of the author nor the names of other contributors may +-- be used to endorse or promote products derived from this software without +-- specific prior written permission. +-- +-- THIS CODE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +-- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-- PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE +-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +-- POSSIBILITY OF SUCH DAMAGE. +-- +-- You are responsible for any legal issues arising from your use of this code. +-- +-- The latest version of this file can be found at: www.fpgaarcade.com +-- +-- Email support@fpgaarcade.com +-- +-- Revision list +-- +-- version 001 initial release +-- +-- Clues from MAME sound driver and Kazuhiro TSUJIKAWA +-- +-- These are the measured outputs from a real chip for a single Isolated channel into a 1K load (V) +-- vol 15 .. 0 +-- 3.27 2.995 2.741 2.588 2.452 2.372 2.301 2.258 2.220 2.198 2.178 2.166 2.155 2.148 2.141 2.132 +-- As the envelope volume is 5 bit, I have fitted a curve to the not quite log shape in order +-- to produced all the required values. +-- (The first part of the curve is a bit steeper and the last bit is more linear than expected) +-- +-- NOTE, this component uses LINEAR mixing of the three analogue channels, and is only +-- accurate for designs where the outputs are buffered and not simply wired together. +-- The ouput level is more complex in that case and requires a larger table. + +library ieee; + use ieee.std_logic_1164.all; + use ieee.std_logic_arith.all; + use ieee.std_logic_unsigned.all; + +entity YM2149 is + port ( + -- data bus + I_DA : in std_logic_vector(7 downto 0); + O_DA : out std_logic_vector(7 downto 0); + O_DA_OE_L : out std_logic; + -- control + I_A9_L : in std_logic; + I_A8 : in std_logic; + I_BDIR : in std_logic; + I_BC2 : in std_logic; + I_BC1 : in std_logic; + I_SEL_L : in std_logic; + + O_AUDIO : out std_logic_vector(7 downto 0); + O_CHAN : out std_logic_vector(1 downto 0); + -- port a + I_IOA : in std_logic_vector(7 downto 0); + O_IOA : out std_logic_vector(7 downto 0); + O_IOA_OE_L : out std_logic; + -- port b + I_IOB : in std_logic_vector(7 downto 0); + O_IOB : out std_logic_vector(7 downto 0); + O_IOB_OE_L : out std_logic; + + ENA : in std_logic; -- clock enable for higher speed operation + RESET_L : in std_logic; + CLK : in std_logic -- note 6 Mhz + ); +end; + +architecture RTL of YM2149 is + type array_16x8 is array (0 to 15) of std_logic_vector( 7 downto 0); + type array_3x12 is array (1 to 3) of std_logic_vector(11 downto 0); + + signal cnt_div : std_logic_vector(3 downto 0) := (others => '0'); + signal cnt_div_t1 : std_logic_vector(3 downto 0); + signal noise_div : std_logic := '0'; + signal ena_div : std_logic; + signal ena_div_noise : std_logic; + signal poly17 : std_logic_vector(16 downto 0) := (others => '0'); + + -- registers + signal addr : std_logic_vector(7 downto 0); + signal busctrl_addr : std_logic; + signal busctrl_we : std_logic; + signal busctrl_re : std_logic; + + signal reg : array_16x8; + signal env_reset : std_logic; + signal ioa_inreg : std_logic_vector(7 downto 0); + signal iob_inreg : std_logic_vector(7 downto 0); + + signal noise_gen_cnt : std_logic_vector(4 downto 0); + signal noise_gen_op : std_logic; + signal tone_gen_cnt : array_3x12 := (others => (others => '0')); + signal tone_gen_op : std_logic_vector(3 downto 1) := "000"; + + signal env_gen_cnt : std_logic_vector(15 downto 0); + signal env_ena : std_logic; + signal env_hold : std_logic; + signal env_inc : std_logic; + signal env_vol : std_logic_vector(4 downto 0); + + signal tone_ena_l : std_logic; + signal tone_src : std_logic; + signal noise_ena_l : std_logic; + signal chan_vol : std_logic_vector(4 downto 0); + + signal dac_amp : std_logic_vector(7 downto 0); +begin + -- cpu i/f + p_busdecode : process(I_BDIR, I_BC2, I_BC1, addr, I_A9_L, I_A8) + variable cs : std_logic; + variable sel : std_logic_vector(2 downto 0); + begin + -- BDIR BC2 BC1 MODE + -- 0 0 0 inactive + -- 0 0 1 address + -- 0 1 0 inactive + -- 0 1 1 read + -- 1 0 0 address + -- 1 0 1 inactive + -- 1 1 0 write + -- 1 1 1 read + busctrl_addr <= '0'; + busctrl_we <= '0'; + busctrl_re <= '0'; + + cs := '0'; + if (I_A9_L = '0') and (I_A8 = '1') and (addr(7 downto 4) = "0000") then + cs := '1'; + end if; + + sel := (I_BDIR & I_BC2 & I_BC1); + case sel is + when "000" => null; + when "001" => busctrl_addr <= '1'; + when "010" => null; + when "011" => busctrl_re <= cs; + when "100" => busctrl_addr <= '1'; + when "101" => null; + when "110" => busctrl_we <= cs; + when "111" => busctrl_addr <= '1'; + when others => null; + end case; + end process; + + p_oe : process(busctrl_re) + begin + -- if we are emulating a real chip, maybe clock this to fake up the tristate typ delay of 100ns + O_DA_OE_L <= not (busctrl_re); + end process; + + -- + -- CLOCKED + -- + p_waddr : process(RESET_L, CLK) + begin + -- looks like registers are latches in real chip, but the address is caught at the end of the address state. + if (RESET_L = '0') then + addr <= (others => '0'); + elsif rising_edge(CLK) then + if (ENA = '1') then + if (busctrl_addr = '1') then + addr <= I_DA; + end if; + end if; + end if; + end process; + + p_wdata : process(RESET_L, CLK) + begin + if (RESET_L = '0') then + reg <= (others => (others => '0')); + env_reset <= '1'; + elsif rising_edge(CLK) then + if (ENA = '1') then + env_reset <= '0'; + if (busctrl_we = '1') then + case addr(3 downto 0) is + when x"0" => reg(0) <= I_DA; + when x"1" => reg(1) <= I_DA; + when x"2" => reg(2) <= I_DA; + when x"3" => reg(3) <= I_DA; + when x"4" => reg(4) <= I_DA; + when x"5" => reg(5) <= I_DA; + when x"6" => reg(6) <= I_DA; + when x"7" => reg(7) <= I_DA; + when x"8" => reg(8) <= I_DA; + when x"9" => reg(9) <= I_DA; + when x"A" => reg(10) <= I_DA; + when x"B" => reg(11) <= I_DA; + when x"C" => reg(12) <= I_DA; + when x"D" => reg(13) <= I_DA; env_reset <= '1'; + when x"E" => reg(14) <= I_DA; + when x"F" => reg(15) <= I_DA; + when others => null; + end case; + end if; + end if; + end if; + end process; + + p_rdata : process(busctrl_re, addr, reg, ioa_inreg, iob_inreg) + begin + O_DA <= (others => '0'); -- 'X' + if (busctrl_re = '1') then -- not necessary, but useful for putting 'X's in the simulator + case addr(3 downto 0) is + when x"0" => O_DA <= reg(0) ; + when x"1" => O_DA <= "0000" & reg(1)(3 downto 0) ; + when x"2" => O_DA <= reg(2) ; + when x"3" => O_DA <= "0000" & reg(3)(3 downto 0) ; + when x"4" => O_DA <= reg(4) ; + when x"5" => O_DA <= "0000" & reg(5)(3 downto 0) ; + when x"6" => O_DA <= "000" & reg(6)(4 downto 0) ; + when x"7" => O_DA <= reg(7) ; + when x"8" => O_DA <= "000" & reg(8)(4 downto 0) ; + when x"9" => O_DA <= "000" & reg(9)(4 downto 0) ; + when x"A" => O_DA <= "000" & reg(10)(4 downto 0) ; + when x"B" => O_DA <= reg(11); + when x"C" => O_DA <= reg(12); + when x"D" => O_DA <= "0000" & reg(13)(3 downto 0); + when x"E" => if (reg(7)(6) = '0') then -- input + O_DA <= ioa_inreg; + else + O_DA <= reg(14); -- read output reg + end if; + when x"F" => if (Reg(7)(7) = '0') then + O_DA <= iob_inreg; + else + O_DA <= reg(15); + end if; + when others => null; + end case; + end if; + end process; + -- + p_divider : process + begin + wait until rising_edge(CLK); + -- / 8 when SEL is high and /16 when SEL is low + if (ENA = '1') then + ena_div <= '0'; + ena_div_noise <= '0'; + if (cnt_div = "0000") then + cnt_div <= (not I_SEL_L) & "111"; + ena_div <= '1'; + + noise_div <= not noise_div; + if (noise_div = '1') then + ena_div_noise <= '1'; + end if; + else + cnt_div <= cnt_div - "1"; + end if; + end if; + end process; + + p_noise_gen : process + variable noise_gen_comp : std_logic_vector(4 downto 0); + variable poly17_zero : std_logic; + begin + wait until rising_edge(CLK); + if (reg(6)(4 downto 0) = "00000") then + noise_gen_comp := "00000"; + else + noise_gen_comp := (reg(6)(4 downto 0) - "1"); + end if; + + poly17_zero := '0'; + if (poly17 = "00000000000000000") then poly17_zero := '1'; end if; + + if (ENA = '1') then + if (ena_div_noise = '1') then -- divider ena + + if (noise_gen_cnt >= noise_gen_comp) then + noise_gen_cnt <= "00000"; + poly17 <= (poly17(0) xor poly17(2) xor poly17_zero) & poly17(16 downto 1); + else + noise_gen_cnt <= (noise_gen_cnt + "1"); + end if; + end if; + end if; + end process; + noise_gen_op <= poly17(0); + + p_tone_gens : process + variable tone_gen_freq : array_3x12; + variable tone_gen_comp : array_3x12; + begin + wait until rising_edge(CLK); + -- looks like real chips count up - we need to get the Exact behaviour .. + tone_gen_freq(1) := reg(1)(3 downto 0) & reg(0); + tone_gen_freq(2) := reg(3)(3 downto 0) & reg(2); + tone_gen_freq(3) := reg(5)(3 downto 0) & reg(4); + -- period 0 = period 1 + for i in 1 to 3 loop + if (tone_gen_freq(i) = x"000") then + tone_gen_comp(i) := x"000"; + else + tone_gen_comp(i) := (tone_gen_freq(i) - "1"); + end if; + end loop; + + if (ENA = '1') then + for i in 1 to 3 loop + if (ena_div = '1') then -- divider ena + + if (tone_gen_cnt(i) >= tone_gen_comp(i)) then + tone_gen_cnt(i) <= x"000"; + tone_gen_op(i) <= not tone_gen_op(i); + else + tone_gen_cnt(i) <= (tone_gen_cnt(i) + "1"); + end if; + end if; + end loop; + end if; + end process; + + p_envelope_freq : process + variable env_gen_freq : std_logic_vector(15 downto 0); + variable env_gen_comp : std_logic_vector(15 downto 0); + begin + wait until rising_edge(CLK); + env_gen_freq := reg(12) & reg(11); + -- envelope freqs 1 and 0 are the same. + if (env_gen_freq = x"0000") then + env_gen_comp := x"0000"; + else + env_gen_comp := (env_gen_freq - "1"); + end if; + + if (ENA = '1') then + env_ena <= '0'; + if (ena_div = '1') then -- divider ena + if (env_gen_cnt >= env_gen_comp) then + env_gen_cnt <= x"0000"; + env_ena <= '1'; + else + env_gen_cnt <= (env_gen_cnt + "1"); + end if; + end if; + end if; + end process; + + p_envelope_shape : process(env_reset, reg, CLK) + variable is_bot : boolean; + variable is_bot_p1 : boolean; + variable is_top_m1 : boolean; + variable is_top : boolean; + begin + -- envelope shapes + -- C AtAlH + -- 0 0 x x \___ + -- + -- 0 1 x x /___ + -- + -- 1 0 0 0 \\\\ + -- + -- 1 0 0 1 \___ + -- + -- 1 0 1 0 \/\/ + -- ___ + -- 1 0 1 1 \ + -- + -- 1 1 0 0 //// + -- ___ + -- 1 1 0 1 / + -- + -- 1 1 1 0 /\/\ + -- + -- 1 1 1 1 /___ + if (env_reset = '1') then + -- load initial state + if (reg(13)(2) = '0') then -- attack + env_vol <= "11111"; + env_inc <= '0'; -- -1 + else + env_vol <= "00000"; + env_inc <= '1'; -- +1 + end if; + env_hold <= '0'; + + elsif rising_edge(CLK) then + is_bot := (env_vol = "00000"); + is_bot_p1 := (env_vol = "00001"); + is_top_m1 := (env_vol = "11110"); + is_top := (env_vol = "11111"); + + if (ENA = '1') then + if (env_ena = '1') then + if (env_hold = '0') then + if (env_inc = '1') then + env_vol <= (env_vol + "00001"); + else + env_vol <= (env_vol + "11111"); + end if; + end if; + + -- envelope shape control. + if (reg(13)(3) = '0') then + if (env_inc = '0') then -- down + if is_bot_p1 then env_hold <= '1'; end if; + else + if is_top then env_hold <= '1'; end if; + end if; + else + if (reg(13)(0) = '1') then -- hold = 1 + if (env_inc = '0') then -- down + if (reg(13)(1) = '1') then -- alt + if is_bot then env_hold <= '1'; end if; + else + if is_bot_p1 then env_hold <= '1'; end if; + end if; + else + if (reg(13)(1) = '1') then -- alt + if is_top then env_hold <= '1'; end if; + else + if is_top_m1 then env_hold <= '1'; end if; + end if; + end if; + + elsif (reg(13)(1) = '1') then -- alternate + if (env_inc = '0') then -- down + if is_bot_p1 then env_hold <= '1'; end if; + if is_bot then env_hold <= '0'; env_inc <= '1'; end if; + else + if is_top_m1 then env_hold <= '1'; end if; + if is_top then env_hold <= '0'; env_inc <= '0'; end if; + end if; + end if; + + end if; + end if; + end if; + end if; + end process; + + p_chan_mixer : process(cnt_div, reg, tone_gen_op) + begin + tone_ena_l <= '1'; tone_src <= '1'; + noise_ena_l <= '1'; chan_vol <= "00000"; + case cnt_div(1 downto 0) is + when "00" => + tone_ena_l <= reg(7)(0); tone_src <= tone_gen_op(1); chan_vol <= reg(8)(4 downto 0); + noise_ena_l <= reg(7)(3); + when "01" => + tone_ena_l <= reg(7)(1); tone_src <= tone_gen_op(2); chan_vol <= reg(9)(4 downto 0); + noise_ena_l <= reg(7)(4); + when "10" => + tone_ena_l <= reg(7)(2); tone_src <= tone_gen_op(3); chan_vol <= reg(10)(4 downto 0); + noise_ena_l <= reg(7)(5); + when "11" => null; -- tone gen outputs become valid on this clock + when others => null; + end case; + end process; + + p_op_mixer : process + variable chan_mixed : std_logic; + variable chan_amp : std_logic_vector(4 downto 0); + begin + wait until rising_edge(CLK); + if (ENA = '1') then + + chan_mixed := (tone_ena_l or tone_src) and (noise_ena_l or noise_gen_op); + + chan_amp := (others => '0'); + if (chan_mixed = '1') then + if (chan_vol(4) = '0') then + if (chan_vol(3 downto 0) = "0000") then -- nothing is easy ! make sure quiet is quiet + chan_amp := "00000"; + else + chan_amp := chan_vol(3 downto 0) & '1'; -- make sure level 31 (env) = level 15 (tone) + end if; + else + chan_amp := env_vol(4 downto 0); + end if; + end if; + + dac_amp <= x"00"; + case chan_amp is + when "11111" => dac_amp <= x"FF"; + when "11110" => dac_amp <= x"D9"; + when "11101" => dac_amp <= x"BA"; + when "11100" => dac_amp <= x"9F"; + when "11011" => dac_amp <= x"88"; + when "11010" => dac_amp <= x"74"; + when "11001" => dac_amp <= x"63"; + when "11000" => dac_amp <= x"54"; + when "10111" => dac_amp <= x"48"; + when "10110" => dac_amp <= x"3D"; + when "10101" => dac_amp <= x"34"; + when "10100" => dac_amp <= x"2C"; + when "10011" => dac_amp <= x"25"; + when "10010" => dac_amp <= x"1F"; + when "10001" => dac_amp <= x"1A"; + when "10000" => dac_amp <= x"16"; + when "01111" => dac_amp <= x"13"; + when "01110" => dac_amp <= x"10"; + when "01101" => dac_amp <= x"0D"; + when "01100" => dac_amp <= x"0B"; + when "01011" => dac_amp <= x"09"; + when "01010" => dac_amp <= x"08"; + when "01001" => dac_amp <= x"07"; + when "01000" => dac_amp <= x"06"; + when "00111" => dac_amp <= x"05"; + when "00110" => dac_amp <= x"04"; + when "00101" => dac_amp <= x"03"; + when "00100" => dac_amp <= x"03"; + when "00011" => dac_amp <= x"02"; + when "00010" => dac_amp <= x"02"; + when "00001" => dac_amp <= x"01"; + when "00000" => dac_amp <= x"00"; + when others => null; + end case; + + cnt_div_t1 <= cnt_div; + end if; + end process; + + p_audio_output : process(RESET_L, CLK) + begin + if (RESET_L = '0') then + O_AUDIO <= (others => '0'); + O_CHAN <= (others => '0'); + elsif rising_edge(CLK) then + + if (ENA = '1') then + O_AUDIO <= dac_amp(7 downto 0); + O_CHAN <= cnt_div_t1(1 downto 0); + end if; + end if; + end process; + + p_io_ports : process(reg) + begin + O_IOA <= reg(14); + O_IOA_OE_L <= not reg(7)(6); + O_IOB <= reg(15); + O_IOB_OE_L <= not reg(7)(7); + end process; + + p_io_ports_inreg : process + begin + wait until rising_edge(CLK); + if (ENA = '1') then -- resync + ioa_inreg <= I_IOA; + iob_inreg <= I_IOB; + end if; + end process; +end architecture RTL; diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/build_id.tcl b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/build_id.tcl new file mode 100644 index 00000000..938515d8 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/build_id.tcl @@ -0,0 +1,35 @@ +# ================================================================================ +# +# Build ID Verilog Module Script +# Jeff Wiencrot - 8/1/2011 +# +# Generates a Verilog module that contains a timestamp, +# from the current build. These values are available from the build_date, build_time, +# physical_address, and host_name output ports of the build_id module in the build_id.v +# Verilog source file. +# +# ================================================================================ + +proc generateBuildID_Verilog {} { + + # Get the timestamp (see: http://www.altera.com/support/examples/tcl/tcl-date-time-stamp.html) + set buildDate [ clock format [ clock seconds ] -format %y%m%d ] + set buildTime [ clock format [ clock seconds ] -format %H%M%S ] + + # Create a Verilog file for output + set outputFileName "rtl/build_id.v" + set outputFile [open $outputFileName "w"] + + # Output the Verilog source + puts $outputFile "`define BUILD_DATE \"$buildDate\"" + puts $outputFile "`define BUILD_TIME \"$buildTime\"" + close $outputFile + + # Send confirmation message to the Messages window + post_message "Generated build identification Verilog module: [pwd]/$outputFileName" + post_message "Date: $buildDate" + post_message "Time: $buildTime" +} + +# Comment out this line to prevent the process from automatically executing when the file is sourced: +generateBuildID_Verilog \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/cmos_ram.vhd b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/cmos_ram.vhd new file mode 100644 index 00000000..c5e34893 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/cmos_ram.vhd @@ -0,0 +1,356 @@ +-- ----------------------------------------------------------------------- +-- +-- Syntiac's generic VHDL support files. +-- +-- ----------------------------------------------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +-- +-- Modified April 2016 by Dar (darfpga@aol.fr) +-- http://darfpga.blogspot.fr +-- Remove address register when writing +-- +-- ----------------------------------------------------------------------- +-- +-- gen_rwram.vhd +-- +-- ----------------------------------------------------------------------- +-- +-- generic ram. +-- +-- ----------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.numeric_std.ALL; + +-- ----------------------------------------------------------------------- + +entity cmos_ram is + generic ( + dWidth : integer := 8; + aWidth : integer := 10 + ); + port ( + clk : in std_logic; + we : in std_logic; + addr : in std_logic_vector((aWidth-1) downto 0); + d : in std_logic_vector((dWidth-1) downto 0); + q : out std_logic_vector((dWidth-1) downto 0) + ); +end entity; + +-- ----------------------------------------------------------------------- + +architecture rtl of cmos_ram is + subtype addressRange is integer range 0 to ((2**aWidth)-1); + type ramDef is array(addressRange) of std_logic_vector((dWidth-1) downto 0); + signal ram: ramDef:= ( + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --000-00F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --010-01F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --020-02F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --030-03F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --040-04F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --050-05F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --060-06F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --070-07F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --080-08F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --090-09F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0A0-0AF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0B0-0BF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0C0-0CF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0D0-0DF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0E0-0EF + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --0F0-0FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --100-10F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --1F0-1FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --200-20F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --2F0-2FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --300-30F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --3F0-3FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --400-40F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --4F0-4FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --500-50F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --5F0-5FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --600-60F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --6F0-6FF + + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --700-70F + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF" --7F0-7FF + +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --800-80F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --8F0-8FF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --900-90F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --9F0-9FF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --A00-A0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --AF0-AFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --B00-B0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --BF0-BFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --C00-C0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --CF0-CFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --D00-D0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --DF0-DFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --E00-E0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --EF0-EFF +-- +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", --F00-F0F +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", +-- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF" --FF0-FFF +); + + signal rAddrReg : std_logic_vector((aWidth-1) downto 0); + signal qReg : std_logic_vector((dWidth-1) downto 0); +begin +-- ----------------------------------------------------------------------- +-- Signals to entity interface +-- ----------------------------------------------------------------------- +-- q <= qReg; + +-- ----------------------------------------------------------------------- +-- Memory write +-- ----------------------------------------------------------------------- + process(clk) + begin + if rising_edge(clk) then + if we = '1' then + ram(to_integer(unsigned(addr))) <= d; + end if; + end if; + end process; + +-- ----------------------------------------------------------------------- +-- Memory read +-- ----------------------------------------------------------------------- +process(clk) + begin + if rising_edge(clk) then +-- qReg <= ram(to_integer(unsigned(rAddrReg))); +-- rAddrReg <= addr; +---- qReg <= ram(to_integer(unsigned(addr))); + q <= ram(to_integer(unsigned(addr))); + end if; + end process; +--q <= ram(to_integer(unsigned(addr))); +end architecture; + diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/ctc_controler.vhd b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/ctc_controler.vhd new file mode 100644 index 00000000..1ff9961d --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/ctc_controler.vhd @@ -0,0 +1,106 @@ +--------------------------------------------------------------------------------- +-- 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; diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/ctc_counter.vhd b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/ctc_counter.vhd new file mode 100644 index 00000000..25f9a797 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/ctc_counter.vhd @@ -0,0 +1,152 @@ +--------------------------------------------------------------------------------- +-- 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; diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/gen_ram.vhd b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/gen_ram.vhd new file mode 100644 index 00000000..f1a95608 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/gen_ram.vhd @@ -0,0 +1,84 @@ +-- ----------------------------------------------------------------------- +-- +-- Syntiac's generic VHDL support files. +-- +-- ----------------------------------------------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +-- +-- Modified April 2016 by Dar (darfpga@aol.fr) +-- http://darfpga.blogspot.fr +-- Remove address register when writing +-- +-- ----------------------------------------------------------------------- +-- +-- gen_rwram.vhd +-- +-- ----------------------------------------------------------------------- +-- +-- generic ram. +-- +-- ----------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.numeric_std.ALL; + +-- ----------------------------------------------------------------------- + +entity gen_ram is + generic ( + dWidth : integer := 8; + aWidth : integer := 10 + ); + port ( + clk : in std_logic; + we : in std_logic; + addr : in std_logic_vector((aWidth-1) downto 0); + d : in std_logic_vector((dWidth-1) downto 0); + q : out std_logic_vector((dWidth-1) downto 0) + ); +end entity; + +-- ----------------------------------------------------------------------- + +architecture rtl of gen_ram is + subtype addressRange is integer range 0 to ((2**aWidth)-1); + type ramDef is array(addressRange) of std_logic_vector((dWidth-1) downto 0); + signal ram: ramDef; + + signal rAddrReg : std_logic_vector((aWidth-1) downto 0); + signal qReg : std_logic_vector((dWidth-1) downto 0); +begin +-- ----------------------------------------------------------------------- +-- Signals to entity interface +-- ----------------------------------------------------------------------- +-- q <= qReg; + +-- ----------------------------------------------------------------------- +-- Memory write +-- ----------------------------------------------------------------------- + process(clk) + begin + if rising_edge(clk) then + if we = '1' then + ram(to_integer(unsigned(addr))) <= d; + end if; + end if; + end process; + +-- ----------------------------------------------------------------------- +-- Memory read +-- ----------------------------------------------------------------------- +process(clk) + begin + if rising_edge(clk) then +-- qReg <= ram(to_integer(unsigned(rAddrReg))); +-- rAddrReg <= addr; +---- qReg <= ram(to_integer(unsigned(addr))); + q <= ram(to_integer(unsigned(addr))); + end if; + end process; +--q <= ram(to_integer(unsigned(addr))); +end architecture; + diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/pll_mist.vhd b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/pll_mist.vhd new file mode 100644 index 00000000..15c5571c --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/pll_mist.vhd @@ -0,0 +1,397 @@ +-- megafunction wizard: %ALTPLL% +-- GENERATION: STANDARD +-- VERSION: WM1.0 +-- MODULE: altpll + +-- ============================================================ +-- File Name: pll_mist.vhd +-- Megafunction Name(s): +-- altpll +-- +-- Simulation Library Files(s): +-- altera_mf +-- ============================================================ +-- ************************************************************ +-- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE! +-- +-- 13.1.0 Build 162 10/23/2013 SJ Web Edition +-- ************************************************************ + + +--Copyright (C) 1991-2013 Altera Corporation +--Your use of Altera Corporation's design tools, logic functions +--and other software and tools, and its AMPP partner logic +--functions, and any output files from any of the foregoing +--(including device programming or simulation files), and any +--associated documentation or information are expressly subject +--to the terms and conditions of the Altera Program License +--Subscription Agreement, Altera MegaCore Function License +--Agreement, or other applicable license agreement, including, +--without limitation, that your use is for the sole purpose of +--programming logic devices manufactured by Altera and sold by +--Altera or its authorized distributors. Please refer to the +--applicable agreement for further details. + + +LIBRARY ieee; +USE ieee.std_logic_1164.all; + +LIBRARY altera_mf; +USE altera_mf.all; + +ENTITY pll_mist IS + PORT + ( + areset : IN STD_LOGIC := '0'; + inclk0 : IN STD_LOGIC := '0'; + c0 : OUT STD_LOGIC ; + c1 : OUT STD_LOGIC ; + locked : OUT STD_LOGIC + ); +END pll_mist; + + +ARCHITECTURE SYN OF pll_mist IS + + SIGNAL sub_wire0 : STD_LOGIC_VECTOR (4 DOWNTO 0); + SIGNAL sub_wire1 : STD_LOGIC ; + SIGNAL sub_wire2 : STD_LOGIC ; + SIGNAL sub_wire3 : STD_LOGIC ; + SIGNAL sub_wire4 : STD_LOGIC ; + SIGNAL sub_wire5 : STD_LOGIC_VECTOR (1 DOWNTO 0); + SIGNAL sub_wire6_bv : BIT_VECTOR (0 DOWNTO 0); + SIGNAL sub_wire6 : STD_LOGIC_VECTOR (0 DOWNTO 0); + + + + COMPONENT altpll + GENERIC ( + bandwidth_type : STRING; + clk0_divide_by : NATURAL; + clk0_duty_cycle : NATURAL; + clk0_multiply_by : NATURAL; + clk0_phase_shift : STRING; + clk1_divide_by : NATURAL; + clk1_duty_cycle : NATURAL; + clk1_multiply_by : NATURAL; + clk1_phase_shift : STRING; + compensate_clock : STRING; + inclk0_input_frequency : NATURAL; + intended_device_family : STRING; + lpm_hint : STRING; + lpm_type : STRING; + operation_mode : STRING; + pll_type : STRING; + port_activeclock : STRING; + port_areset : STRING; + port_clkbad0 : STRING; + port_clkbad1 : STRING; + port_clkloss : STRING; + port_clkswitch : STRING; + port_configupdate : STRING; + port_fbin : STRING; + port_inclk0 : STRING; + port_inclk1 : STRING; + port_locked : STRING; + port_pfdena : STRING; + port_phasecounterselect : STRING; + port_phasedone : STRING; + port_phasestep : STRING; + port_phaseupdown : STRING; + port_pllena : STRING; + port_scanaclr : STRING; + port_scanclk : STRING; + port_scanclkena : STRING; + port_scandata : STRING; + port_scandataout : STRING; + port_scandone : STRING; + port_scanread : STRING; + port_scanwrite : STRING; + port_clk0 : STRING; + port_clk1 : STRING; + port_clk2 : STRING; + port_clk3 : STRING; + port_clk4 : STRING; + port_clk5 : STRING; + port_clkena0 : STRING; + port_clkena1 : STRING; + port_clkena2 : STRING; + port_clkena3 : STRING; + port_clkena4 : STRING; + port_clkena5 : STRING; + port_extclk0 : STRING; + port_extclk1 : STRING; + port_extclk2 : STRING; + port_extclk3 : STRING; + self_reset_on_loss_lock : STRING; + width_clock : NATURAL + ); + PORT ( + areset : IN STD_LOGIC ; + clk : OUT STD_LOGIC_VECTOR (4 DOWNTO 0); + inclk : IN STD_LOGIC_VECTOR (1 DOWNTO 0); + locked : OUT STD_LOGIC + ); + END COMPONENT; + +BEGIN + sub_wire6_bv(0 DOWNTO 0) <= "0"; + sub_wire6 <= To_stdlogicvector(sub_wire6_bv); + sub_wire3 <= sub_wire0(0); + sub_wire1 <= sub_wire0(1); + c1 <= sub_wire1; + locked <= sub_wire2; + c0 <= sub_wire3; + sub_wire4 <= inclk0; + sub_wire5 <= sub_wire6(0 DOWNTO 0) & sub_wire4; + + altpll_component : altpll + GENERIC MAP ( + bandwidth_type => "AUTO", + clk0_divide_by => 27, + clk0_duty_cycle => 50, + clk0_multiply_by => 40, + clk0_phase_shift => "0", + clk1_divide_by => 27, + clk1_duty_cycle => 50, + clk1_multiply_by => 80, + clk1_phase_shift => "0", + compensate_clock => "CLK0", + inclk0_input_frequency => 37037, + intended_device_family => "Cyclone III", + lpm_hint => "CBX_MODULE_PREFIX=pll_mist", + lpm_type => "altpll", + operation_mode => "NORMAL", + pll_type => "AUTO", + port_activeclock => "PORT_UNUSED", + port_areset => "PORT_USED", + port_clkbad0 => "PORT_UNUSED", + port_clkbad1 => "PORT_UNUSED", + port_clkloss => "PORT_UNUSED", + port_clkswitch => "PORT_UNUSED", + port_configupdate => "PORT_UNUSED", + port_fbin => "PORT_UNUSED", + port_inclk0 => "PORT_USED", + port_inclk1 => "PORT_UNUSED", + port_locked => "PORT_USED", + port_pfdena => "PORT_UNUSED", + port_phasecounterselect => "PORT_UNUSED", + port_phasedone => "PORT_UNUSED", + port_phasestep => "PORT_UNUSED", + port_phaseupdown => "PORT_UNUSED", + port_pllena => "PORT_UNUSED", + port_scanaclr => "PORT_UNUSED", + port_scanclk => "PORT_UNUSED", + port_scanclkena => "PORT_UNUSED", + port_scandata => "PORT_UNUSED", + port_scandataout => "PORT_UNUSED", + port_scandone => "PORT_UNUSED", + port_scanread => "PORT_UNUSED", + port_scanwrite => "PORT_UNUSED", + port_clk0 => "PORT_USED", + port_clk1 => "PORT_USED", + port_clk2 => "PORT_UNUSED", + port_clk3 => "PORT_UNUSED", + port_clk4 => "PORT_UNUSED", + port_clk5 => "PORT_UNUSED", + port_clkena0 => "PORT_UNUSED", + port_clkena1 => "PORT_UNUSED", + port_clkena2 => "PORT_UNUSED", + port_clkena3 => "PORT_UNUSED", + port_clkena4 => "PORT_UNUSED", + port_clkena5 => "PORT_UNUSED", + port_extclk0 => "PORT_UNUSED", + port_extclk1 => "PORT_UNUSED", + port_extclk2 => "PORT_UNUSED", + port_extclk3 => "PORT_UNUSED", + self_reset_on_loss_lock => "OFF", + width_clock => 5 + ) + PORT MAP ( + areset => areset, + inclk => sub_wire5, + clk => sub_wire0, + locked => sub_wire2 + ); + + + +END SYN; + +-- ============================================================ +-- CNX file retrieval info +-- ============================================================ +-- Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0" +-- Retrieval info: PRIVATE: BANDWIDTH STRING "1.000" +-- Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "1" +-- Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz" +-- Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low" +-- Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1" +-- Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0" +-- Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0" +-- Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0" +-- Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "0" +-- Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0" +-- Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0" +-- Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0" +-- Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0" +-- Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "c0" +-- Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "8" +-- Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "27" +-- Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "27" +-- Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000" +-- Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000" +-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "40.000000" +-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "80.000000" +-- Retrieval info: PRIVATE: EXPLICIT_SWITCHOVER_COUNTER STRING "0" +-- Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0" +-- Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1" +-- Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "0" +-- Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "0" +-- Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575" +-- Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1" +-- Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "27.000" +-- Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz" +-- Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "100.000" +-- Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1" +-- Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1" +-- Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz" +-- Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone III" +-- Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1" +-- Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "1" +-- Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1" +-- Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "Not Available" +-- Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0" +-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg" +-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT1 STRING "ps" +-- Retrieval info: PRIVATE: MIG_DEVICE_SPEED_GRADE STRING "Any" +-- Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0" +-- Retrieval info: PRIVATE: MIRROR_CLK1 STRING "0" +-- Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "40" +-- Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "80" +-- Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1" +-- Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "40.00000000" +-- Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "80.00000000" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "0" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "0" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz" +-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT1 STRING "MHz" +-- Retrieval info: PRIVATE: PHASE_RECONFIG_FEATURE_ENABLED STRING "1" +-- Retrieval info: PRIVATE: PHASE_RECONFIG_INPUTS_CHECK STRING "0" +-- Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000" +-- Retrieval info: PRIVATE: PHASE_SHIFT1 STRING "0.00000000" +-- Retrieval info: PRIVATE: PHASE_SHIFT_STEP_ENABLED_CHECK STRING "0" +-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg" +-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT1 STRING "deg" +-- Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0" +-- Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "1" +-- Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1" +-- Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0" +-- Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0" +-- Retrieval info: PRIVATE: PLL_FBMIMIC_CHECK STRING "0" +-- Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0" +-- Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0" +-- Retrieval info: PRIVATE: PLL_TARGET_HARCOPY_CHECK NUMERIC "0" +-- Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0" +-- Retrieval info: PRIVATE: RECONFIG_FILE STRING "pll_mist.mif" +-- Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0" +-- Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "1" +-- Retrieval info: PRIVATE: SELF_RESET_LOCK_LOSS STRING "0" +-- Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0" +-- Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "0" +-- Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000" +-- Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz" +-- Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.500" +-- Retrieval info: PRIVATE: SPREAD_USE STRING "0" +-- Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0" +-- Retrieval info: PRIVATE: STICKY_CLK0 STRING "1" +-- Retrieval info: PRIVATE: STICKY_CLK1 STRING "1" +-- Retrieval info: PRIVATE: SWITCHOVER_COUNT_EDIT NUMERIC "1" +-- Retrieval info: PRIVATE: SWITCHOVER_FEATURE_ENABLED STRING "1" +-- Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0" +-- Retrieval info: PRIVATE: USE_CLK0 STRING "1" +-- Retrieval info: PRIVATE: USE_CLK1 STRING "1" +-- Retrieval info: PRIVATE: USE_CLKENA0 STRING "0" +-- Retrieval info: PRIVATE: USE_CLKENA1 STRING "0" +-- Retrieval info: PRIVATE: USE_MIL_SPEED_GRADE NUMERIC "0" +-- Retrieval info: PRIVATE: ZERO_DELAY_RADIO STRING "0" +-- Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all +-- Retrieval info: CONSTANT: BANDWIDTH_TYPE STRING "AUTO" +-- Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "27" +-- Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50" +-- Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "40" +-- Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0" +-- Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "27" +-- Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50" +-- Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "80" +-- Retrieval info: CONSTANT: CLK1_PHASE_SHIFT STRING "0" +-- Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0" +-- Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "37037" +-- Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone III" +-- Retrieval info: CONSTANT: LPM_TYPE STRING "altpll" +-- Retrieval info: CONSTANT: OPERATION_MODE STRING "NORMAL" +-- Retrieval info: CONSTANT: PLL_TYPE STRING "AUTO" +-- Retrieval info: CONSTANT: PORT_ACTIVECLOCK STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_ARESET STRING "PORT_USED" +-- Retrieval info: CONSTANT: PORT_CLKBAD0 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_CLKBAD1 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_CLKLOSS STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_CLKSWITCH STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_CONFIGUPDATE STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_FBIN STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_INCLK0 STRING "PORT_USED" +-- Retrieval info: CONSTANT: PORT_INCLK1 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_LOCKED STRING "PORT_USED" +-- Retrieval info: CONSTANT: PORT_PFDENA STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_PHASECOUNTERSELECT STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_PHASEDONE STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_PHASESTEP STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_PHASEUPDOWN STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_PLLENA STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANACLR STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANCLK STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANCLKENA STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANDATA STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANDATAOUT STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANDONE STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANREAD STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_SCANWRITE STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clk0 STRING "PORT_USED" +-- Retrieval info: CONSTANT: PORT_clk1 STRING "PORT_USED" +-- Retrieval info: CONSTANT: PORT_clk2 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clk3 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clk4 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clk5 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena0 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena1 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena2 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena3 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena4 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_clkena5 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_extclk0 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_extclk1 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_extclk2 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: PORT_extclk3 STRING "PORT_UNUSED" +-- Retrieval info: CONSTANT: SELF_RESET_ON_LOSS_LOCK STRING "OFF" +-- Retrieval info: CONSTANT: WIDTH_CLOCK NUMERIC "5" +-- Retrieval info: USED_PORT: @clk 0 0 5 0 OUTPUT_CLK_EXT VCC "@clk[4..0]" +-- Retrieval info: USED_PORT: @inclk 0 0 2 0 INPUT_CLK_EXT VCC "@inclk[1..0]" +-- Retrieval info: USED_PORT: areset 0 0 0 0 INPUT GND "areset" +-- Retrieval info: USED_PORT: c0 0 0 0 0 OUTPUT_CLK_EXT VCC "c0" +-- Retrieval info: USED_PORT: c1 0 0 0 0 OUTPUT_CLK_EXT VCC "c1" +-- Retrieval info: USED_PORT: inclk0 0 0 0 0 INPUT_CLK_EXT GND "inclk0" +-- Retrieval info: USED_PORT: locked 0 0 0 0 OUTPUT GND "locked" +-- Retrieval info: CONNECT: @areset 0 0 0 0 areset 0 0 0 0 +-- Retrieval info: CONNECT: @inclk 0 0 1 1 GND 0 0 0 0 +-- Retrieval info: CONNECT: @inclk 0 0 1 0 inclk0 0 0 0 0 +-- Retrieval info: CONNECT: c0 0 0 0 0 @clk 0 0 1 0 +-- Retrieval info: CONNECT: c1 0 0 0 0 @clk 0 0 1 1 +-- Retrieval info: CONNECT: locked 0 0 0 0 @locked 0 0 0 0 +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.vhd TRUE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.ppf TRUE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.inc FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.cmp FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist.bsf FALSE +-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_mist_inst.vhd FALSE +-- Retrieval info: LIB_FILE: altera_mf +-- Retrieval info: CBX_MODULE_PREFIX: ON diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/rom/kroozr_bg_bits_1.vhd b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/rom/kroozr_bg_bits_1.vhd new file mode 100644 index 00000000..1701f5b9 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/rom/kroozr_bg_bits_1.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity kroozr_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 kroozr_bg_bits_1 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + 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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"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"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"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"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"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"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"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"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"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"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"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"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"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"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"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"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"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"C0",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"80",X"00",X"0C",X"00",X"00",X"00",X"00",X"00", + X"2C",X"00",X"00",X"00",X"20",X"00",X"C0",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"C0", + X"C8",X"00",X"00",X"00",X"00",X"00",X"CC",X"00",X"20",X"00",X"00",X"C0",X"00",X"00",X"C0",X"20", + X"00",X"03",X"00",X"08",X"00",X"00",X"00",X"08",X"00",X"03",X"00",X"20",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"C0",X"00",X"20",X"00",X"00",X"00",X"00",X"00",X"20",X"03",X"03",X"00",X"00", + X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"0C",X"00",X"80",X"00",X"33",X"82",X"00",X"00",X"00", + X"08",X"20",X"00",X"00",X"8C",X"C2",X"00",X"00",X"00",X"30",X"83",X"02",X"00",X"00",X"08",X"80", + X"00",X"C0",X"00",X"00",X"30",X"22",X"00",X"C0",X"00",X"03",X"30",X"80",X"00",X"00",X"08",X"80", + X"C3",X"02",X"00",X"00",X"02",X"30",X"0C",X"00",X"00",X"20",X"0C",X"C0",X"00",X"08",X"20",X"00", + X"00",X"32",X"23",X"00",X"00",X"80",X"20",X"03",X"02",X"00",X"00",X"08",X"20",X"00",X"30",X"00", + X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"20",X"00",X"00",X"00",X"80",X"08",X"00",X"00",X"00", + X"01",X"00",X"10",X"10",X"00",X"04",X"40",X"00",X"00",X"04",X"10",X"00",X"00",X"10",X"01",X"00", + X"C0",X"00",X"30",X"50",X"0D",X"04",X"07",X"04",X"10",X"D0",X"10",X"70",X"05",X"0C",X"00",X"03", + X"01",X"C0",X"01",X"C0",X"01",X"C0",X"01",X"C0",X"01",X"C0",X"01",X"C0",X"01",X"C0",X"01",X"C0", + X"00",X"00",X"00",X"60",X"00",X"00",X"10",X"48",X"10",X"48",X"00",X"00",X"00",X"60",X"00",X"00", + X"00",X"00",X"00",X"00",X"05",X"50",X"04",X"10",X"04",X"10",X"04",X"10",X"04",X"10",X"05",X"50", + X"00",X"00",X"00",X"00",X"01",X"40",X"05",X"40",X"01",X"40",X"01",X"40",X"01",X"40",X"05",X"50", + X"00",X"00",X"00",X"00",X"05",X"50",X"00",X"50",X"00",X"50",X"01",X"40",X"05",X"00",X"05",X"50", + X"00",X"00",X"00",X"00",X"05",X"50",X"00",X"50",X"01",X"40",X"00",X"50",X"00",X"50",X"05",X"50", + X"00",X"00",X"00",X"00",X"05",X"40",X"11",X"40",X"11",X"40",X"15",X"50",X"01",X"40",X"01",X"40", + X"00",X"00",X"00",X"00",X"05",X"50",X"04",X"00",X"05",X"50",X"00",X"50",X"00",X"50",X"05",X"50", + X"00",X"00",X"00",X"00",X"05",X"50",X"04",X"00",X"05",X"50",X"04",X"10",X"04",X"10",X"05",X"50", + X"00",X"00",X"00",X"00",X"05",X"50",X"00",X"50",X"00",X"50",X"00",X"40",X"01",X"40",X"01",X"40", + X"00",X"00",X"00",X"00",X"05",X"50",X"04",X"10",X"01",X"40",X"04",X"10",X"04",X"10",X"05",X"50", + X"00",X"00",X"00",X"00",X"05",X"50",X"04",X"10",X"04",X"10",X"05",X"50",X"00",X"10",X"05",X"50", + X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"40",X"10",X"30",X"08",X"00",X"00",X"00",X"00",X"00", + X"00",X"40",X"00",X"00",X"08",X"00",X"10",X"10",X"00",X"00",X"C0",X"0C",X"01",X"20",X"00",X"0C", + X"00",X"42",X"10",X"20",X"00",X"00",X"00",X"30",X"08",X"00",X"C0",X"00",X"00",X"03",X"00",X"10", + X"00",X"02",X"00",X"20",X"00",X"C0",X"00",X"10",X"08",X"00",X"40",X"00",X"30",X"00",X"00",X"01", + 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"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"00",X"00",X"00",X"00",X"3F",X"FC",X"3C",X"3C",X"3C",X"3C",X"3F",X"FC",X"3C",X"3C",X"3C",X"3C", + X"00",X"00",X"00",X"00",X"3F",X"F0",X"3F",X"F0",X"3C",X"30",X"3F",X"FC",X"3C",X"3C",X"3F",X"FC", + X"00",X"00",X"00",X"00",X"3F",X"FC",X"3C",X"00",X"3C",X"00",X"3C",X"00",X"3C",X"00",X"3F",X"FC", + X"00",X"00",X"00",X"00",X"3F",X"F0",X"3C",X"FC",X"3C",X"3C",X"3C",X"3C",X"3C",X"FC",X"3F",X"F0", + X"00",X"00",X"00",X"00",X"3F",X"FC",X"3C",X"00",X"3F",X"F0",X"3C",X"00",X"3C",X"00",X"3F",X"FC", + X"00",X"00",X"00",X"00",X"3F",X"F0",X"3C",X"00",X"3C",X"00",X"3F",X"C0",X"3C",X"00",X"3C",X"00", + X"00",X"00",X"00",X"00",X"3F",X"FC",X"3C",X"00",X"3C",X"00",X"3C",X"3C",X"3C",X"3C",X"3F",X"FC", + X"00",X"00",X"00",X"00",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3F",X"FC",X"3C",X"3C",X"3C",X"3C", + X"00",X"00",X"00",X"00",X"3F",X"FC",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"3F",X"FC", + X"00",X"00",X"00",X"00",X"03",X"FF",X"00",X"3C",X"00",X"3C",X"3C",X"3C",X"3C",X"3C",X"3F",X"FC", + X"00",X"00",X"00",X"00",X"3C",X"FC",X"3F",X"C0",X"3F",X"00",X"3F",X"C0",X"3C",X"F0",X"3C",X"3C", + X"00",X"00",X"00",X"00",X"3C",X"00",X"3C",X"00",X"3C",X"00",X"3C",X"00",X"3C",X"3C",X"3F",X"FC", + X"00",X"00",X"00",X"00",X"3F",X"FC",X"3C",X"CC",X"3C",X"CC",X"3C",X"CC",X"3C",X"CC",X"3C",X"CC", + X"00",X"00",X"00",X"00",X"3C",X"3C",X"3F",X"3C",X"3F",X"FC",X"3C",X"FC",X"3C",X"FC",X"3C",X"3C", + X"00",X"00",X"00",X"00",X"3F",X"FC",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3F",X"FC", + X"00",X"00",X"00",X"00",X"3F",X"FC",X"3C",X"3C",X"3C",X"3C",X"3F",X"FC",X"3C",X"00",X"3C",X"00", + X"00",X"00",X"00",X"00",X"3F",X"FC",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"FC",X"3F",X"FC", + X"00",X"00",X"00",X"00",X"3F",X"FC",X"3C",X"3C",X"3F",X"FC",X"3C",X"F0",X"3C",X"3C",X"3C",X"3C", + X"00",X"00",X"00",X"00",X"3F",X"F0",X"30",X"00",X"3F",X"F0",X"00",X"F0",X"00",X"F0",X"3F",X"F0", + X"00",X"00",X"00",X"00",X"3F",X"FC",X"33",X"CC",X"03",X"C0",X"03",X"C0",X"03",X"C0",X"0F",X"F0", + X"00",X"00",X"00",X"00",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3C",X"3F",X"FC", + X"00",X"00",X"00",X"00",X"3F",X"3C",X"0F",X"30",X"0F",X"30",X"0F",X"F0",X"03",X"C0",X"03",X"C0", + X"00",X"00",X"00",X"00",X"3C",X"CC",X"3C",X"CC",X"3C",X"CC",X"3C",X"CC",X"3C",X"CC",X"3F",X"FC", + X"00",X"00",X"00",X"00",X"3F",X"3C",X"0F",X"30",X"03",X"C0",X"0C",X"F0",X"30",X"30",X"30",X"3C", + X"00",X"00",X"00",X"00",X"3C",X"3C",X"0F",X"30",X"0F",X"C0",X"03",X"C0",X"03",X"C0",X"03",X"C0", + X"00",X"00",X"00",X"00",X"3F",X"FC",X"00",X"F0",X"03",X"C0",X"0F",X"00",X"3C",X"00",X"3F",X"FC", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"54",X"05",X"40", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"03",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"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"03",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"A8",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"A8",X"2A",X"AA",X"8A",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"02",X"A0",X"2A",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"80",X"00",X"A8",X"00", + X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"0C",X"00",X"00",X"00",X"00",X"00",X"00", + X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"0A",X"00",X"2A",X"00",X"2A",X"00",X"0A",X"00",X"02",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"AB",X"FF",X"AA",X"FF",X"3F",X"FE",X"0F",X"EE", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"FE",X"AA",X"BA",X"AA",X"AA",X"AA", + X"AA",X"FF",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AB",X"AA",X"AA",X"FF",X"FF",X"AA",X"BF", + X"F8",X"00",X"AA",X"A0",X"AA",X"AA",X"AA",X"AA",X"E8",X"00",X"AA",X"A0",X"AA",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"80",X"00",X"A8",X"00",X"AA",X"A0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"C0",X"C3",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"0A",X"00",X"0A", + X"00",X"3E",X"00",X"0F",X"00",X"0F",X"2A",X"AF",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"FA",X"AA",X"FA",X"AA",X"FE",X"AA",X"FE",X"FF",X"AF",X"FF",X"AF",X"FB",X"BF",X"FB", + X"AA",X"AA",X"AA",X"AA",X"8A",X"AA",X"EA",X"AA",X"EA",X"AA",X"EA",X"AA",X"FA",X"AE",X"FF",X"FA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"BF",X"FF",X"AA",X"AA",X"AA",X"A8", + X"AA",X"AA",X"AA",X"AB",X"AA",X"AB",X"AA",X"AA",X"EA",X"A2",X"AA",X"00",X"A8",X"00",X"00",X"00", + X"00",X"00",X"A8",X"00",X"F8",X"00",X"AA",X"00",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"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"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"C3",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"C0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"3F",X"00",X"0F",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"EA",X"AA",X"FF",X"FA",X"FF",X"F8",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"EF",X"3F",X"FF",X"3F",X"BF",X"3F",X"BE",X"2F",X"FB",X"0E",X"2C",X"00",X"00",X"00",X"00", + X"FF",X"EF",X"EA",X"80",X"BF",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"03",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00", + X"03",X"EA",X"3E",X"AA",X"FF",X"EA",X"2F",X"FA",X"32",X"FE",X"0F",X"CF",X"03",X"FE",X"00",X"C3", + X"A0",X"00",X"AA",X"00",X"AB",X"00",X"AF",X"00",X"A8",X"00",X"AC",X"00",X"A0",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00", + X"00",X"C0",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00", + X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"00",X"00",X"00",X"00", + X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"30",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"C0",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"30",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"C0",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"0F",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"03",X"00",X"00", + X"00",X"00",X"30",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"00", + X"00",X"C0",X"00",X"00",X"00",X"03",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"00",X"3F",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"2F",X"00",X"FF",X"0F",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"03",X"FF",X"BF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"0C",X"02",X"AE",X"3F",X"FF",X"FF",X"FF",X"3E",X"BF",X"FE",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"C0",X"FB",X"F8",X"FF",X"FF",X"FF",X"FF",X"FF",X"FC", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"03",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"03",X"3F",X"03",X"FF",X"FF",X"07",X"FF", + X"00",X"00",X"00",X"0F",X"38",X"D5",X"FE",X"3F",X"FF",X"9D",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"2F",X"EA",X"FF",X"FF",X"55",X"37",X"FF",X"FF",X"5F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"BF",X"E0",X"FF",X"FC",X"FF",X"FF",X"FF",X"FF",X"FF",X"FE",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"57",X"FF",X"CF",X"FF",X"FF",X"FF",X"BF",X"FF",X"DF",X"FF",X"FF",X"FF",X"FE",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"FF",X"77",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"CF",X"FF",X"FF",X"F5",X"D7",X"FF",X"FF",X"7D",X"DF",X"FD",X"D7",X"5D", + X"FF",X"F0",X"FD",X"C0",X"55",X"C0",X"74",X"40",X"55",X"00",X"D4",X"00",X"54",X"00",X"74",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00", + X"00",X"FF",X"00",X"3F",X"00",X"1F",X"00",X"03",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"FF",X"7D",X"FF",X"1F",X"75",X"0F",X"7F", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"CF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"AF",X"FF",X"EF",X"FF",X"FF",X"FF",X"DF",X"FF",X"F7",X"FF",X"FF",X"FF",X"7F",X"FF",X"7F", + X"FD",X"5F",X"FF",X"FF",X"FF",X"0F",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"7D",X"7F",X"F5",X"3F",X"FF",X"F5",X"8B",X"FF",X"FF",X"FF",X"FF",X"BE",X"FF",X"FF",X"FF",X"FF", + X"D4",X"00",X"FC",X"C0",X"CC",X"CF",X"EB",X"FF",X"FF",X"FF",X"FF",X"BF",X"FF",X"EB",X"FF",X"F0", + X"00",X"00",X"00",X"00",X"3C",X"00",X"F0",X"00",X"F0",X"00",X"C0",X"00",X"C0",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"30",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0F",X"00",X"FF",X"0F",X"FF",X"1F",X"FD",X"0F",X"FF",X"00",X"F3",X"00",X"FD", + X"03",X"FF",X"13",X"7D",X"C3",X"7F",X"C1",X"DF",X"F0",X"7D",X"C0",X"07",X"40",X"0F",X"00",X"05", + X"FD",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FD",X"57",X"FF",X"FF",X"FF",X"FF",X"7F",X"FD", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F7",X"DD",X"7F",X"F5",X"FD",X"CF",X"F7",X"7F",X"FD",X"CF", + X"FF",X"FF",X"44",X"FF",X"FD",X"FF",X"FF",X"7F",X"FD",X"D4",X"DF",X"F5",X"7D",X"54",X"5D",X"01", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"DF",X"FF",X"FD",X"4C",X"7D",X"03",X"DD", + X"FF",X"FF",X"FF",X"FF",X"FF",X"C7",X"FD",X"5F",X"74",X"45",X"D5",X"D7",X"F4",X"55",X"17",X"F4", + X"F5",X"50",X"5D",X"40",X"55",X"00",X"D4",X"00",X"14",X"00",X"50",X"CF",X"40",X"FF",X"00",X"30", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FC",X"3F",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"FF",X"00",X"F4",X"00", + X"00",X"30",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",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"00",X"0C",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"DF",X"FF",X"F7",X"F5",X"FF",X"FD",X"0D",X"FD",X"01",X"FD",X"03",X"D7",X"00",X"45",X"01",X"54", + X"77",X"FD",X"FF",X"74",X"1D",X"D0",X"77",X"40",X"D4",X"00",X"10",X"00",X"00",X"00",X"00",X"00", + X"14",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"DF",X"00",X"3F",X"00",X"3F",X"00",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"7F",X"54",X"75",X"74",X"55",X"00",X"D4",X"00",X"D0",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FC",X"05",X"CD",X"55",X"CD",X"DF",X"3C",X"CF",X"0F",X"F5",X"00",X"D0",X"00",X"C0",X"00",X"00", + X"47",X"C0",X"11",X"40",X"50",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"03",X"00",X"00",X"00", + X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",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"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"02",X"00",X"28", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"80",X"28",X"20",X"80",X"20",X"00",X"08", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03", + X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"A8",X"2A",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"2A",X"0A",X"80",X"A0",X"00",X"00",X"01",X"00",X"01",X"00",X"41", + X"02",X"80",X"A8",X"00",X"00",X"00",X"00",X"04",X"00",X"04",X"01",X"01",X"40",X"40",X"50",X"40", + X"00",X"08",X"00",X"42",X"01",X"02",X"01",X"00",X"01",X"00",X"04",X"00",X"45",X"00",X"50",X"40", + X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"80",X"00",X"20",X"00",X"20",X"00",X"08",X"00", + X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"2A",X"0A",X"80",X"A0",X"00",X"80",X"00",X"80",X"00",X"80",X"50", + X"02",X"A0",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"05",X"04",X"04",X"04",X"14", + X"00",X"00",X"00",X"01",X"00",X"04",X"00",X"50",X"00",X"00",X"40",X"00",X"10",X"00",X"04",X"01", + X"10",X"51",X"50",X"55",X"10",X"51",X"10",X"50",X"40",X"10",X"40",X"14",X"40",X"14",X"40",X"15", + X"10",X"50",X"14",X"10",X"04",X"14",X"04",X"05",X"05",X"05",X"01",X"41",X"01",X"40",X"00",X"00", + X"10",X"10",X"14",X"05",X"05",X"00",X"01",X"00",X"00",X"00",X"00",X"15",X"00",X"40",X"01",X"40", + X"09",X"00",X"02",X"00",X"02",X"40",X"00",X"80",X"00",X"80",X"40",X"20",X"10",X"20",X"04",X"08", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00", + X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"80",X"10",X"20",X"14",X"20",X"04",X"20",X"04",X"08",X"05",X"08",X"01",X"08",X"01",X"02",X"00", + X"04",X"10",X"10",X"10",X"10",X"10",X"50",X"10",X"40",X"10",X"50",X"14",X"54",X"05",X"45",X"01", + X"04",X"01",X"01",X"04",X"01",X"04",X"01",X"04",X"01",X"05",X"05",X"04",X"54",X"00",X"50",X"00", + X"00",X"05",X"01",X"05",X"05",X"00",X"54",X"00",X"40",X"00",X"00",X"00",X"01",X"10",X"01",X"14", + X"00",X"00",X"00",X"01",X"04",X"04",X"05",X"01",X"44",X"41",X"44",X"40",X"44",X"50",X"45",X"44", + X"50",X"10",X"14",X"04",X"04",X"01",X"04",X"01",X"55",X"01",X"40",X"50",X"40",X"00",X"10",X"00", + X"04",X"08",X"04",X"08",X"14",X"02",X"50",X"02",X"00",X"02",X"00",X"28",X"02",X"80",X"28",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"02",X"00",X"02",X"00",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"20",X"00",X"20",X"00",X"20", + X"40",X"50",X"40",X"14",X"10",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"05",X"14",X"01",X"04", + X"00",X"00",X"00",X"10",X"00",X"04",X"05",X"01",X"44",X"51",X"41",X"05",X"10",X"40",X"10",X"40", + X"41",X"01",X"11",X"00",X"15",X"00",X"04",X"50",X"04",X"14",X"41",X"00",X"41",X"00",X"00",X"00", + X"44",X"05",X"44",X"00",X"44",X"00",X"40",X"00",X"40",X"02",X"00",X"28",X"02",X"80",X"29",X"00", + X"10",X"02",X"00",X"28",X"02",X"80",X"28",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"00",X"2A", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",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"AA",X"AA",X"02",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"AA",X"2A",X"AA",X"A2",X"AA",X"AA",X"A0",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"A0",X"8A",X"A0",X"AA",X"AA",X"8A",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"AA",X"80",X"AA",X"AA",X"A2",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"AA",X"80",X"AA",X"A8", + X"00",X"08",X"00",X"08",X"00",X"08",X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"00",X"00",X"00", + X"00",X"41",X"00",X"41",X"00",X"10",X"00",X"10",X"04",X"10",X"01",X"40",X"80",X"00",X"80",X"00", + X"04",X"10",X"04",X"10",X"54",X"00",X"10",X"00",X"00",X"02",X"00",X"28",X"02",X"80",X"28",X"00", + X"00",X"02",X"00",X"28",X"02",X"80",X"28",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"85",X"00",X"05",X"C0",X"01",X"40",X"01",X"70",X"00",X"50",X"00",X"50",X"00",X"14",X"00",X"16", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A8",X"00", + X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"03", + X"C3",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"2A",X"AA",X"AA",X"AA",X"3F",X"AA",X"00",X"FF", + X"AA",X"AA",X"AA",X"AA",X"02",X"8A",X"02",X"AA",X"AA",X"A8",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"A2",X"2A",X"8A",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"A8",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"AA",X"AA",X"AA",X"AA",X"AA",X"A0",X"A8",X"03",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"AA",X"AB",X"A0",X"38",X"0F",X"A0",X"FE",X"80",X"AE",X"00",X"AA",X"80",X"AA",X"A0",X"AA",X"A0", + X"80",X"02",X"20",X"28",X"22",X"80",X"28",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"03",X"00",X"03", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A8",X"00",X"AA",X"00",X"BA",X"00",X"AE",X"00", + X"00",X"1A",X"00",X"AA",X"00",X"AE",X"02",X"AA",X"0A",X"AA",X"0A",X"FA",X"0B",X"FE",X"0A",X"FE", + X"AA",X"80",X"AA",X"A8",X"AA",X"AA",X"BF",X"AA",X"FF",X"EA",X"FF",X"EA",X"BF",X"EA",X"AF",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"03", + X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"A0",X"AA",X"AA",X"0B",X"AA",X"02",X"FF",X"03",X"BF", + X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A8",X"00",X"F0",X"00",X"80",X"00", + X"F8",X"AA",X"B3",X"BF",X"28",X"EC",X"0B",X"FB",X"0E",X"FF",X"08",X"0B",X"00",X"03",X"00",X"00", + X"AA",X"AA",X"FC",X"00",X"FF",X"FF",X"FF",X"FA",X"CF",X"AA",X"FF",X"AA",X"FF",X"2A",X"BF",X"C2", + X"AA",X"AA",X"00",X"AA",X"0A",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"AA",X"AA",X"AA",X"AA",X"30",X"AA",X"BF",X"AA",X"BF", + X"AA",X"AA",X"8A",X"AA",X"AA",X"AA",X"FF",X"FF",X"BF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"82",X"AA",X"3C",X"00",X"FF",X"3F",X"FF",X"FF",X"FF",X"FF",X"EA",X"AF",X"A2",X"00",X"C0",X"3F", + X"AA",X"AA",X"02",X"AA",X"F0",X"03",X"FF",X"3F",X"FF",X"FA",X"FF",X"88",X"0E",X"20",X"F8",X"80", + X"A8",X"00",X"08",X"00",X"A8",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"E8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0A",X"EE",X"0A",X"AA",X"02",X"AA",X"02",X"AF",X"00",X"2A",X"00",X"2A",X"00",X"02",X"00",X"00", + X"AA",X"AE",X"AA",X"AA",X"BA",X"AA",X"AA",X"BA",X"EA",X"E8",X"AA",X"A8",X"AA",X"80",X"00",X"00", + X"80",X"00",X"80",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00", + X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00", + X"00",X"2F",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"F0",X"0B",X"FF",X"03",X"F3",X"00",X"BC",X"00",X"2F",X"00",X"2A",X"00",X"00",X"00",X"00", + X"02",X"FF",X"FF",X"FF",X"FF",X"FA",X"BF",X"EB",X"EE",X"F0",X"FF",X"00",X"2E",X"00",X"38",X"00", + X"FF",X"FF",X"F3",X"FF",X"CF",X"FF",X"FF",X"FE",X"3F",X"E0",X"0B",X"80",X"00",X"00",X"00",X"00", + X"FF",X"FE",X"B8",X"FA",X"0B",X"E2",X"FF",X"80",X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"83",X"FE",X"2B",X"B8",X"E0",X"3F",X"0B",X"F0",X"00",X"BA",X"00",X"08",X"00",X"00",X"00",X"00", + X"EE",X"00",X"08",X"00",X"20",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00", + X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"30",X"00",X"C0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"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"0C",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"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"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"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"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/rom/kroozr_bg_bits_2.vhd b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/rom/kroozr_bg_bits_2.vhd new file mode 100644 index 00000000..08eba6ce --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/rom/kroozr_bg_bits_2.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity kroozr_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 kroozr_bg_bits_2 is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + 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"FF",X"FF",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"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"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"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"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"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"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"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"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"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"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"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"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"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"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"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"80",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"00",X"08",X"00",X"C0",X"00",X"00",X"00", + X"28",X"00",X"C0",X"00",X"20",X"00",X"8C",X"00",X"00",X"00",X"32",X"00",X"0C",X"00",X"00",X"80", + X"88",X"00",X"00",X"00",X"33",X"00",X"88",X"30",X"20",X"00",X"0C",X"80",X"00",X"00",X"83",X"23", + X"00",X"02",X"00",X"08",X"00",X"00",X"00",X"08",X"00",X"02",X"00",X"20",X"00",X"0C",X"00",X"00", + X"00",X"0C",X"00",X"80",X"00",X"20",X"00",X"03",X"03",X"00",X"00",X"20",X"02",X"02",X"00",X"30", + X"03",X"00",X"00",X"0C",X"08",X"C3",X"00",X"08",X"0C",X"80",X"00",X"22",X"82",X"00",X"0C",X"0C", + X"08",X"20",X"30",X"30",X"88",X"82",X"03",X"0C",X"00",X"20",X"8E",X"02",X"00",X"30",X"08",X"8C", + X"C0",X"83",X"0C",X"00",X"20",X"22",X"00",X"80",X"C3",X"02",X"20",X"8C",X"C0",X"00",X"08",X"80", + X"82",X"02",X"00",X"00",X"C2",X"23",X"08",X"00",X"00",X"20",X"08",X"80",X"C0",X"08",X"23",X"00", + X"00",X"22",X"22",X"00",X"00",X"8C",X"20",X"C2",X"02",X"00",X"C0",X"08",X"23",X"00",X"20",X"30", + X"00",X"40",X"10",X"10",X"04",X"10",X"01",X"41",X"05",X"54",X"05",X"10",X"10",X"40",X"00",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"15",X"01",X"40",X"00",X"54",X"15",X"50",X"15",X"50",X"00",X"54",X"01",X"40",X"00",X"15", + X"C0",X"03",X"C0",X"0F",X"CA",X"A3",X"C8",X"23",X"C8",X"23",X"C8",X"23",X"C8",X"23",X"CA",X"A3", + X"CF",X"F3",X"C0",X"3F",X"C2",X"83",X"CA",X"83",X"C2",X"83",X"C2",X"83",X"C2",X"83",X"CA",X"A3", + X"CC",X"F3",X"C0",X"3F",X"CA",X"A3",X"C0",X"A3",X"C0",X"A3",X"C2",X"83",X"CA",X"03",X"CA",X"A3", + X"CC",X"F3",X"C0",X"3F",X"CA",X"A3",X"C0",X"A3",X"C2",X"83",X"C0",X"A3",X"C0",X"A3",X"CA",X"A3", + X"CC",X"03",X"C0",X"0F",X"CA",X"83",X"E2",X"83",X"E2",X"83",X"EA",X"A3",X"C2",X"83",X"C2",X"83", + X"CC",X"03",X"C0",X"0F",X"CA",X"A3",X"C8",X"03",X"CA",X"A3",X"C0",X"A3",X"C0",X"A3",X"CA",X"A3", + X"CC",X"03",X"C0",X"0F",X"CA",X"A3",X"C8",X"03",X"CA",X"A3",X"C8",X"23",X"C8",X"23",X"CA",X"A3", + X"CC",X"03",X"C0",X"0F",X"CA",X"A3",X"C0",X"A3",X"C0",X"A3",X"C0",X"83",X"C2",X"83",X"C2",X"83", + X"CC",X"03",X"C0",X"0F",X"CA",X"A3",X"C8",X"23",X"C2",X"83",X"C8",X"23",X"C8",X"23",X"CA",X"A3", + X"CC",X"03",X"C0",X"0F",X"CA",X"A3",X"C8",X"23",X"C8",X"23",X"CA",X"A3",X"C0",X"23",X"CA",X"A3", + X"00",X"00",X"00",X"00",X"01",X"00",X"04",X"40",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"01",X"10",X"04",X"00",X"00",X"84",X"21",X"10",X"00",X"00",X"00",X"00",X"00",X"00", + X"10",X"80",X"01",X"00",X"40",X"04",X"21",X"20",X"00",X"01",X"40",X"44",X"12",X"00",X"00",X"04", + X"00",X"80",X"21",X"00",X"44",X"04",X"01",X"10",X"00",X"01",X"41",X"10",X"00",X"01",X"04",X"20", + X"10",X"00",X"01",X"00",X"04",X"44",X"40",X"20",X"00",X"01",X"81",X"00",X"10",X"10",X"04",X"02", + 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"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"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"10",X"10",X"15",X"50",X"05",X"40",X"01",X"00",X"01",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"C4",X"00",X"00",X"00",X"01",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"0C",X"00",X"00",X"00",X"00",X"00", + X"40",X"00",X"00",X"00",X"03",X"00",X"C0",X"00",X"00",X"00",X"04",X"00",X"00",X"10",X"00",X"00", + X"0C",X"03",X"00",X"00",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"30",X"03",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"C0",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"01",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"01",X"00",X"00",X"00",X"0C",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"04",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"40", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"10", + X"03",X"04",X"00",X"00",X"00",X"00",X"04",X"10",X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"00", + X"10",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"0C",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"30", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"FF",X"00",X"00",X"00",X"00",X"F3",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"40",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"30",X"10",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"C0",X"C3",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F", + X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"FF",X"00",X"00",X"00",X"0C",X"3F",X"00",X"FF",X"03",X"00",X"00",X"00",X"30",X"0C",X"00",X"0C", + X"00",X"00",X"30",X"00",X"C0",X"0C",X"00",X"30",X"30",X"C0",X"3F",X"FF",X"0F",X"F3",X"00",X"0F", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"3F",X"FF",X"C0",X"00",X"00",X"00",X"FF",X"FC", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"0C",X"0C",X"F3",X"03",X"00",X"FC",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"00",X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"03",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"C0",X"04",X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"0C",X"04",X"00",X"00",X"00",X"C3",X"00",X"00", + X"00",X"40",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00", + X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"FC",X"00",X"03",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"30",X"00",X"00",X"00",X"C0",X"00",X"C3",X"30",X"0C",X"03",X"30",X"00",X"00",X"00",X"00", + X"00",X"30",X"3F",X"C0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"03",X"00",X"00", + X"40",X"00",X"00",X"00",X"00",X"00",X"C1",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"C0", + X"00",X"00",X"40",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00", + X"00",X"3C",X"00",X"00",X"00",X"00",X"30",X"0C",X"03",X"03",X"00",X"00",X"00",X"03",X"00",X"00", + X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"C0",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00", + X"00",X"C0",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"40",X"00",X"00",X"30",X"00",X"04",X"00", + X"00",X"00",X"40",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"C4",X"00",X"00",X"00",X"00", + X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C3",X"00", + X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"03",X"03",X"40",X"10",X"00",X"00", + X"00",X"04",X"03",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00", + X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"0C",X"00",X"30",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"C0",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"04",X"01",X"00",X"00",X"00",X"00",X"03",X"00", + X"00",X"00",X"04",X"04",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"01",X"0C",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"01",X"00",X"C0",X"00",X"30",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"01",X"04", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"44",X"00", + X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"4C",X"00",X"00",X"00",X"00",X"40",X"00", + X"00",X"00",X"C0",X"00",X"03",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"40",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"0F",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"03",X"00",X"00", + X"00",X"00",X"30",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"C3",X"00", + X"00",X"C0",X"00",X"00",X"00",X"03",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"00",X"2A",X"70", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1A",X"00",X"AA",X"0A",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"05",X"C2",X"AA",X"6A",X"AA",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"0B",X"01",X"59",X"2A",X"AA",X"AA",X"AA",X"E9",X"6A",X"A9",X"AA",X"AA",X"AA", + X"00",X"00",X"00",X"00",X"C0",X"00",X"5C",X"80",X"A6",X"A4",X"82",X"AA",X"AA",X"A2",X"AA",X"80", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00", + X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"C0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"02",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"2A",X"0E",X"A0",X"8A",X"08",X"0A", + X"00",X"00",X"00",X"0A",X"24",X"2A",X"A9",X"00",X"2A",X"62",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"1A",X"95",X"AA",X"AA",X"AA",X"2A",X"00",X"0A",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"6A",X"9C",X"AA",X"AB",X"AA",X"AA",X"88",X"AA",X"AA",X"A9",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"00",X"A2",X"AA",X"8A",X"BA",X"AA",X"AA",X"AA",X"6A",X"AA",X"A0",X"00",X"0A",X"AA",X"A9",X"AA", + X"AA",X"28",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A8",X"00",X"02",X"00",X"88",X"08",X"00", + X"2A",X"A0",X"AA",X"A8",X"8A",X"80",X"00",X"0A",X"28",X"00",X"00",X"82",X"20",X"02",X"28",X"A2", + X"28",X"00",X"02",X"00",X"AA",X"00",X"88",X"80",X"AA",X"00",X"28",X"00",X"A8",X"00",X"88",X"00", + X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"0C",X"00",X"00",X"00", + X"00",X"2A",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"2A",X"2A",X"2A",X"AA",X"00",X"00",X"08",X"02",X"82",X"00",X"20",X"8A",X"00",X"80", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"02",X"AA",X"30",X"28",X"00",X"20", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"A2",X"82",X"AA",X"2A",X"AA",X"08",X"00",X"00",X"00", + X"A8",X"58",X"AA",X"90",X"AA",X"8A",X"AA",X"20",X"A8",X"0A",X"80",X"2A",X"00",X"8A",X"00",X"8A", + X"02",X"A0",X"08",X"00",X"2A",X"F0",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"AA", + X"82",X"80",X"2A",X"00",X"80",X"0A",X"76",X"AA",X"AA",X"AA",X"AA",X"69",X"AA",X"AA",X"AA",X"AA", + X"28",X"00",X"0B",X"80",X"88",X"BA",X"96",X"AA",X"AA",X"AA",X"AA",X"6A",X"AA",X"96",X"80",X"A0", + X"00",X"00",X"00",X"00",X"E8",X"00",X"AC",X"00",X"A0",X"00",X"80",X"00",X"80",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00", + X"40",X"00",X"01",X"04",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"30",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0A",X"00",X"AA",X"0A",X"A8",X"20",X"02",X"00",X"00",X"00",X"00",X"00",X"02", + X"00",X"00",X"20",X"82",X"80",X"80",X"02",X"20",X"00",X"82",X"00",X"08",X"80",X"00",X"00",X"0A", + X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"A8",X"00",X"00",X"00",X"00",X"80",X"02", + X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"22",X"80",X"0A",X"02",X"00",X"08",X"80",X"02",X"00", + X"00",X"00",X"88",X"00",X"02",X"00",X"00",X"80",X"02",X"28",X"20",X"0A",X"82",X"A8",X"A2",X"02", + X"0A",X"AA",X"00",X"2A",X"00",X"0A",X"00",X"02",X"00",X"20",X"00",X"02",X"80",X"82",X"00",X"22", + X"AA",X"2A",X"AA",X"00",X"A0",X"08",X"A2",X"A0",X"88",X"8A",X"2A",X"28",X"08",X"AA",X"28",X"08", + X"8A",X"A0",X"A2",X"80",X"AA",X"00",X"28",X"00",X"28",X"00",X"A0",X"0A",X"80",X"2A",X"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"AB",X"2A",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"AA",X"C0",X"A8",X"00", + X"00",X"30",X"00",X"00",X"00",X"00",X"30",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30", + X"10",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"10",X"00", + X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"20",X"00",X"08",X"0A",X"00",X"02",X"02",X"02",X"02",X"02",X"00",X"28",X"00",X"8A",X"02",X"A8", + X"88",X"02",X"00",X"88",X"22",X"20",X"88",X"80",X"28",X"00",X"20",X"00",X"00",X"00",X"00",X"00", + X"28",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"80",X"A8",X"8A",X"88",X"AA",X"00",X"28",X"00",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"0A",X"02",X"AA",X"02",X"20",X"00",X"00",X"00",X"0A",X"00",X"20",X"00",X"00",X"00",X"00", + X"8A",X"B0",X"22",X"80",X"A0",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"13",X"00",X"00",X"00",X"00",X"00",X"43",X"00",X"00",X"00",X"04",X"00", + X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"04",X"00",X"00", + X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"03",X"00",X"00",X"00", + X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"10",X"C0",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"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"02",X"00",X"28", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"80",X"28",X"20",X"80",X"20",X"00",X"08", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03", + X"00",X"00",X"00",X"10",X"30",X"00",X"00",X"0C",X"10",X"10",X"00",X"00",X"00",X"00",X"10",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"40",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0A", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"A8",X"2A",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"2A",X"0A",X"80",X"A0",X"00",X"00",X"01",X"00",X"01",X"00",X"41", + X"02",X"80",X"A8",X"00",X"00",X"00",X"00",X"04",X"00",X"04",X"01",X"01",X"40",X"40",X"50",X"40", + X"00",X"08",X"00",X"42",X"01",X"02",X"01",X"00",X"01",X"00",X"04",X"00",X"45",X"00",X"50",X"40", + X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"80",X"00",X"20",X"00",X"20",X"00",X"08",X"00", + X"00",X"01",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"2A",X"0A",X"80",X"A0",X"00",X"80",X"00",X"80",X"00",X"80",X"50", + X"02",X"A0",X"A8",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"05",X"04",X"04",X"04",X"14", + X"00",X"00",X"00",X"01",X"00",X"04",X"00",X"50",X"00",X"00",X"40",X"00",X"10",X"00",X"04",X"01", + X"10",X"51",X"50",X"55",X"10",X"51",X"10",X"50",X"40",X"10",X"40",X"14",X"40",X"14",X"40",X"15", + X"10",X"50",X"14",X"10",X"04",X"14",X"04",X"05",X"05",X"05",X"01",X"41",X"01",X"40",X"00",X"00", + X"10",X"10",X"14",X"05",X"05",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0A",X"00",X"02",X"00",X"02",X"80",X"00",X"80",X"00",X"80",X"00",X"20",X"00",X"20",X"00",X"08", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"30",X"00",X"00", + X"00",X"C0",X"10",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"10",X"00", + X"80",X"10",X"20",X"14",X"20",X"04",X"20",X"04",X"08",X"05",X"08",X"01",X"08",X"01",X"02",X"00", + X"04",X"10",X"10",X"10",X"10",X"10",X"50",X"10",X"40",X"10",X"50",X"14",X"54",X"05",X"45",X"01", + X"04",X"01",X"01",X"04",X"01",X"04",X"01",X"04",X"01",X"05",X"05",X"04",X"54",X"00",X"50",X"00", + X"00",X"05",X"01",X"05",X"05",X"00",X"54",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"08",X"00",X"08",X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"28",X"02",X"80",X"28",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04", + X"00",X"00",X"00",X"43",X"00",X"00",X"04",X"10",X"00",X"00",X"03",X"00",X"00",X"00",X"40",X"00", + X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"02",X"00",X"02",X"00",X"00",X"80",X"00",X"80",X"00",X"80",X"00",X"20",X"00",X"20",X"00",X"20", + X"40",X"50",X"40",X"14",X"10",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"28",X"02",X"80",X"2A",X"00", + X"00",X"02",X"00",X"28",X"02",X"80",X"28",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"04", + X"00",X"00",X"00",X"40",X"00",X"00",X"04",X"30",X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"05",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"01",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"55",X"55",X"01",X"55",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"55",X"15",X"55",X"51",X"55",X"55",X"50",X"55",X"55", + X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"50",X"75",X"50",X"55",X"55",X"45",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"55",X"40",X"55",X"55",X"5D",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"55",X"70",X"55",X"57", + X"00",X"08",X"00",X"08",X"00",X"08",X"00",X"02",X"00",X"02",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"80",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"28",X"02",X"80",X"28",X"00", + X"00",X"02",X"00",X"28",X"02",X"80",X"28",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"8B",X"00",X"0A",X"80",X"02",X"C0",X"02",X"A0",X"00",X"B0",X"00",X"A0",X"00",X"2C",X"00",X"28", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"01",X"00",X"00",X"0C",X"01",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"03", + X"C3",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"D5",X"55",X"55",X"55",X"00",X"55",X"03",X"00", + X"55",X"55",X"55",X"55",X"01",X"45",X"01",X"55",X"55",X"57",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"55",X"55",X"55",X"51",X"15",X"75",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"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"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"50",X"54",X"00",X"55",X"55",X"55",X"55",X"55",X"55",X"55",X"55", + X"55",X"54",X"50",X"0C",X"00",X"F0",X"03",X"C0",X"53",X"00",X"55",X"40",X"55",X"50",X"55",X"50", + X"80",X"02",X"20",X"28",X"22",X"80",X"28",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"F0",X"00",X"CC",X"00",X"F3",X"00", + X"00",X"20",X"00",X"00",X"00",X"03",X"00",X"00",X"03",X"CC",X"03",X"03",X"0C",X"00",X"0F",X"03", + X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"C0",X"0C",X"F0",X"30", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"03", + X"41",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"50",X"55",X"55",X"0C",X"55",X"03",X"00",X"00",X"C0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"54",X"00",X"00",X"00",X"C0",X"00", + X"07",X"55",X"C0",X"C0",X"3C",X"30",X"0C",X"0C",X"03",X"00",X"0C",X"0C",X"00",X"00",X"00",X"00", + X"55",X"55",X"00",X"00",X"00",X"00",X"00",X"05",X"00",X"55",X"00",X"55",X"00",X"15",X"C0",X"01", + X"55",X"55",X"00",X"55",X"05",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"57",X"55",X"55",X"55",X"55",X"55",X"00",X"55",X"40",X"55",X"40", + X"55",X"55",X"45",X"55",X"55",X"55",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"41",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"F0",X"F3",X"00",X"00",X"00", + X"55",X"55",X"01",X"55",X"00",X"00",X"00",X"00",X"00",X"0F",X"00",X"CC",X"03",X"30",X"0C",X"C0", + X"57",X"30",X"0C",X"00",X"FC",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0F",X"30",X"0F",X"FF",X"03",X"F0",X"03",X"F0",X"00",X"3F",X"00",X"3F",X"00",X"03",X"00",X"00", + X"CC",X"30",X"FF",X"C0",X"C3",X"0C",X"FF",X"00",X"3C",X"30",X"FF",X"C0",X"F3",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"04", + X"0C",X"40",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"00",X"00", + X"00",X"30",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"C0",X"00",X"30",X"00",X"3F",X"00",X"00",X"00",X"00", + X"01",X"00",X"00",X"00",X"00",X"0F",X"C0",X"34",X"33",X"00",X"00",X"00",X"33",X"00",X"0C",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"30",X"0C",X"C0",X"00",X"00",X"00",X"00", + X"00",X"03",X"CC",X"0F",X"0C",X"33",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"C0",X"03",X"3C",X"CC",X"30",X"00",X"0C",X"00",X"00",X"CF",X"00",X"0C",X"00",X"00",X"00",X"00", + X"33",X"00",X"0C",X"00",X"30",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C4",X"00",X"00", + X"00",X"00",X"01",X"10",X"30",X"00",X"00",X"00",X"00",X"30",X"10",X"C0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"C0",X"00",X"00", + X"00",X"01",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"30",X"04",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"C0", + X"04",X"01",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"0C",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"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"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"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/rom/kroozr_sp_bits.vhd b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/rom/kroozr_sp_bits.vhd new file mode 100644 index 00000000..43d20107 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/rom/kroozr_sp_bits.vhd @@ -0,0 +1,2070 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity kroozr_sp_bits is +port ( + clk : in std_logic; + addr : in std_logic_vector(14 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of kroozr_sp_bits is + type rom is array(0 to 32767) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"AA",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"A0",X"00",X"00",X"07",X"77",X"00",X"0A",X"00",X"77", + X"00",X"0A",X"77",X"70",X"00",X"00",X"07",X"77",X"00",X"AA",X"00",X"07",X"00",X"00",X"00",X"77", + X"00",X"06",X"00",X"77",X"00",X"00",X"0F",X"00",X"00",X"00",X"00",X"67",X"00",X"00",X"F0",X"07", + X"FF",X"00",X"00",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"76",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"A0",X"00",X"00",X"00",X"A6",X"66",X"00",X"00",X"00",X"70",X"00", + X"00",X"FA",X"77",X"0A",X"00",X"AA",X"70",X"0A",X"00",X"AA",X"76",X"00",X"00",X"AA",X"00",X"00", + X"00",X"A0",X"66",X"00",X"00",X"00",X"AA",X"00",X"00",X"06",X"6A",X"00",X"00",X"00",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"70",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"A0",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"66", + X"00",X"00",X"00",X"00",X"00",X"F6",X"70",X"60",X"00",X"00",X"00",X"00",X"00",X"06",X"7A",X"00", + X"00",X"00",X"A0",X"0A",X"00",X"00",X"A7",X"A6",X"00",X"00",X"F0",X"00",X"00",X"06",X"FF",X"00", + X"00",X"00",X"FF",X"00",X"70",X"00",X"FF",X"66",X"00",X"00",X"FF",X"00",X"00",X"60",X"00",X"00", + X"00",X"A0",X"F0",X"00",X"00",X"00",X"A7",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"00", + X"00",X"00",X"A0",X"00",X"00",X"66",X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"76",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"0A",X"60",X"00",X"00",X"00",X"00", + X"00",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A7",X"00",X"00",X"00",X"A0",X"60", + X"00",X"00",X"FA",X"00",X"00",X"0A",X"7A",X"00",X"00",X"00",X"77",X"00",X"00",X"07",X"F7",X"00", + X"60",X"76",X"FF",X"00",X"00",X"07",X"F7",X"00",X"00",X"66",X"77",X"00",X"00",X"00",X"77",X"00", + X"00",X"06",X"7A",X"00",X"00",X"00",X"7A",X"60",X"00",X"00",X"FA",X"00",X"00",X"00",X"A0",X"00", + X"00",X"00",X"70",X"00",X"00",X"00",X"07",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00", + X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"A7",X"00", + X"00",X"00",X"FA",X"00",X"00",X"00",X"A6",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"67",X"00", + X"00",X"00",X"70",X"00",X"00",X"0A",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"07",X"00",X"6C",X"00",X"7A", + X"00",X"66",X"06",X"77",X"00",X"06",X"66",X"17",X"00",X"00",X"55",X"00",X"00",X"00",X"35",X"55", + X"00",X"72",X"35",X"A5",X"00",X"27",X"35",X"A5",X"00",X"77",X"35",X"A5",X"00",X"70",X"35",X"A5", + X"06",X"70",X"35",X"AA",X"06",X"00",X"35",X"AA",X"0A",X"C5",X"33",X"AA",X"0A",X"C5",X"33",X"AA", + X"06",X"C1",X"31",X"A1",X"06",X"C1",X"33",X"A1",X"06",X"C1",X"30",X"AA",X"01",X"C1",X"30",X"AA", + X"00",X"C1",X"30",X"AA",X"00",X"C1",X"3C",X"AA",X"00",X"1C",X"30",X"1A",X"00",X"0C",X"30",X"0A", + X"00",X"0C",X"31",X"0A",X"00",X"0C",X"00",X"0A",X"00",X"0C",X"00",X"00",X"00",X"0C",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"DD",X"00",X"06",X"60",X"D6",X"00",X"66",X"60",X"00",X"00",X"A3",X"66",X"00",X"00", + X"A3",X"06",X"02",X"00",X"AA",X"0A",X"07",X"00",X"5A",X"AD",X"07",X"00",X"5A",X"5D",X"07",X"00", + X"5A",X"5D",X"07",X"60",X"5A",X"D5",X"00",X"60",X"5A",X"DD",X"53",X"66",X"5C",X"5D",X"53",X"66", + X"5C",X"5D",X"53",X"56",X"55",X"5D",X"33",X"5A",X"25",X"5D",X"33",X"AA",X"26",X"55",X"33",X"A5", + X"61",X"25",X"33",X"A5",X"61",X"22",X"33",X"A5",X"61",X"22",X"53",X"A1",X"E1",X"12",X"53",X"A1", + X"E1",X"12",X"53",X"11",X"E1",X"11",X"53",X"10",X"E1",X"11",X"53",X"10",X"E0",X"11",X"53",X"00", + X"E0",X"11",X"53",X"00",X"E0",X"11",X"60",X"00",X"E0",X"11",X"60",X"00",X"E0",X"00",X"60",X"00", + X"E0",X"00",X"60",X"00",X"E0",X"00",X"63",X"00",X"E0",X"00",X"00",X"00",X"E0",X"00",X"00",X"00", + X"00",X"00",X"E3",X"00",X"00",X"00",X"E4",X"00",X"00",X"00",X"EE",X"00",X"00",X"0D",X"AA",X"00", + X"00",X"0D",X"FF",X"00",X"00",X"0D",X"FF",X"00",X"00",X"DD",X"9F",X"00",X"00",X"DE",X"09",X"EC", + X"00",X"DE",X"09",X"DC",X"00",X"EC",X"9F",X"DE",X"0C",X"EC",X"FF",X"00",X"0C",X"6C",X"55",X"00", + X"CC",X"6C",X"55",X"00",X"C0",X"CC",X"00",X"00",X"C0",X"CE",X"AA",X"C0",X"EC",X"CE",X"EE",X"C0", + X"0C",X"E0",X"00",X"C0",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"C0", + X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"CE",X"00",X"00",X"00",X"0C",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"C0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"EE",X"E6", + X"00",X"00",X"EE",X"60",X"00",X"0E",X"EE",X"00",X"00",X"EE",X"06",X"00",X"00",X"0E",X"66",X"00", + X"00",X"00",X"6E",X"00",X"00",X"07",X"EE",X"00",X"00",X"0A",X"EE",X"00",X"00",X"00",X"6E",X"00", + X"00",X"66",X"6E",X"00",X"00",X"66",X"66",X"00",X"00",X"11",X"61",X"00",X"00",X"01",X"10",X"00", + X"00",X"00",X"10",X"19",X"00",X"00",X"11",X"49",X"00",X"00",X"14",X"99",X"00",X"00",X"07",X"94", + X"00",X"00",X"E0",X"44",X"00",X"0E",X"E0",X"44",X"00",X"EE",X"0E",X"44",X"00",X"E7",X"0E",X"45", + X"00",X"E4",X"77",X"45",X"00",X"14",X"44",X"54",X"00",X"44",X"44",X"44",X"01",X"44",X"45",X"44", + X"01",X"44",X"44",X"11",X"11",X"44",X"44",X"10",X"7A",X"44",X"11",X"00",X"01",X"11",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"0E", + X"00",X"00",X"EE",X"E6",X"00",X"00",X"EE",X"60",X"00",X"0E",X"60",X"00",X"00",X"60",X"06",X"00", + X"00",X"E0",X"6E",X"00",X"00",X"E0",X"6E",X"00",X"00",X"E0",X"6E",X"00",X"00",X"60",X"66",X"00", + X"00",X"66",X"66",X"00",X"00",X"16",X"66",X"00",X"00",X"01",X"66",X"00",X"00",X"00",X"60",X"00", + X"00",X"00",X"61",X"00",X"00",X"00",X"61",X"00",X"00",X"00",X"E6",X"00",X"00",X"11",X"EE",X"10", + X"00",X"14",X"EE",X"11",X"00",X"44",X"00",X"44",X"00",X"47",X"E6",X"44",X"00",X"41",X"66",X"44", + X"00",X"44",X"77",X"44",X"00",X"44",X"11",X"44",X"00",X"44",X"44",X"41",X"00",X"14",X"44",X"11", + X"00",X"11",X"A4",X"10",X"00",X"00",X"AA",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"7A",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"0A",X"00",X"00",X"EE",X"09", + X"00",X"00",X"E6",X"09",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"99",X"00",X"00",X"7E",X"99", + X"00",X"00",X"7E",X"99",X"00",X"00",X"EE",X"99",X"00",X"00",X"E1",X"99",X"00",X"00",X"11",X"09", + X"00",X"00",X"66",X"00",X"00",X"00",X"6E",X"50",X"00",X"00",X"66",X"50",X"00",X"AA",X"66",X"50", + X"00",X"AA",X"66",X"50",X"00",X"AA",X"66",X"00",X"00",X"AA",X"00",X"00",X"00",X"0A",X"00",X"66", + X"00",X"00",X"55",X"AA",X"00",X"00",X"55",X"AA",X"00",X"00",X"55",X"AA",X"00",X"05",X"55",X"AA", + X"00",X"AA",X"55",X"AA",X"00",X"AA",X"50",X"A9",X"00",X"10",X"06",X"90",X"00",X"11",X"6A",X"00", + X"00",X"A1",X"99",X"00",X"00",X"AA",X"00",X"00",X"00",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"55",X"00",X"00", + X"00",X"5F",X"00",X"00",X"00",X"F5",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"05",X"00",X"00", + X"00",X"05",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"50",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"0E", + X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"EE",X"00",X"00",X"00",X"00",X"00",X"0E",X"AA",X"EE", + X"00",X"00",X"00",X"00",X"00",X"0E",X"77",X"EC",X"00",X"00",X"00",X"00",X"00",X"EE",X"70",X"00", + X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0E",X"7E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"DD",X"DC",X"E0", + X"00",X"00",X"00",X"00",X"00",X"D0",X"DD",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"DD",X"22", + X"00",X"00",X"00",X"00",X"00",X"00",X"0D",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"B0", + X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"2B",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"22", + X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"22",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"42", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"50",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"0A",X"00",X"00",X"EE",X"09", + X"00",X"00",X"E6",X"09",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"99",X"00",X"00",X"7E",X"99", + X"00",X"00",X"7E",X"99",X"00",X"00",X"EE",X"99",X"00",X"00",X"E1",X"99",X"00",X"00",X"11",X"09", + X"00",X"00",X"66",X"00",X"00",X"00",X"6E",X"50",X"00",X"00",X"66",X"50",X"00",X"AA",X"66",X"50", + X"00",X"AA",X"66",X"50",X"00",X"AA",X"66",X"00",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"66", + X"00",X"55",X"55",X"AA",X"00",X"AA",X"35",X"AA",X"00",X"A1",X"55",X"AA",X"00",X"11",X"55",X"AA", + X"00",X"10",X"55",X"AA",X"00",X"00",X"55",X"A9",X"00",X"00",X"50",X"90",X"00",X"00",X"50",X"00", + X"00",X"40",X"09",X"00",X"00",X"44",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"06",X"00",X"00", + X"00",X"00",X"50",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00", + X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00", + X"00",X"00",X"55",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"05",X"00",X"00",X"00",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"EE", + X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"E6",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"1E",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"E1", + X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"6E",X"00",X"00",X"00",X"66", + X"00",X"00",X"DD",X"66",X"00",X"00",X"DD",X"66",X"00",X"00",X"00",X"06",X"00",X"D9",X"ED",X"C0", + X"00",X"ED",X"00",X"CC",X"00",X"9E",X"ED",X"DC",X"00",X"99",X"00",X"DD",X"00",X"9D",X"DD",X"DD", + X"00",X"DE",X"DD",X"DD",X"00",X"00",X"CC",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"88",X"00",X"88",X"88",X"88",X"77",X"77",X"77",X"88",X"88",X"88",X"77",X"88",X"87",X"8F",X"77", + X"88",X"77",X"87",X"77",X"88",X"88",X"88",X"77",X"88",X"77",X"8F",X"77",X"88",X"77",X"87",X"77", + X"88",X"7F",X"88",X"87",X"88",X"77",X"77",X"77",X"88",X"77",X"77",X"77",X"88",X"00",X"88",X"88", + X"88",X"00",X"88",X"88",X"88",X"88",X"BB",X"88",X"88",X"8B",X"33",X"88",X"88",X"B8",X"33",X"88", + X"88",X"8B",X"33",X"88",X"88",X"88",X"BB",X"88",X"88",X"8D",X"88",X"88",X"88",X"83",X"33",X"88", + X"88",X"8D",X"33",X"88",X"88",X"8D",X"33",X"88",X"88",X"8B",X"33",X"88",X"88",X"88",X"BB",X"88", + X"88",X"8D",X"88",X"88",X"88",X"8D",X"33",X"88",X"88",X"8D",X"33",X"88",X"88",X"8D",X"33",X"88", + X"88",X"8D",X"33",X"88",X"88",X"8D",X"33",X"88",X"88",X"88",X"33",X"88",X"88",X"88",X"38",X"88", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"73",X"5E",X"00",X"00",X"EE",X"55", + X"00",X"00",X"5E",X"55",X"00",X"00",X"5E",X"55",X"00",X"55",X"55",X"EE",X"00",X"15",X"55",X"55", + X"00",X"15",X"55",X"55",X"00",X"11",X"55",X"55",X"00",X"10",X"55",X"55",X"00",X"00",X"55",X"55", + X"00",X"00",X"55",X"55",X"00",X"10",X"55",X"55",X"00",X"11",X"55",X"55",X"00",X"15",X"55",X"55", + X"00",X"45",X"55",X"55",X"00",X"55",X"55",X"66",X"00",X"00",X"56",X"55",X"00",X"00",X"46",X"55", + X"00",X"00",X"66",X"44",X"00",X"00",X"64",X"46",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"00",X"00",X"55",X"EE",X"0E", + X"00",X"55",X"5E",X"33",X"00",X"11",X"5E",X"55",X"00",X"11",X"55",X"55",X"00",X"66",X"55",X"55", + X"00",X"66",X"55",X"55",X"00",X"66",X"55",X"EE",X"00",X"E6",X"55",X"55",X"F5",X"56",X"55",X"55", + X"54",X"41",X"55",X"55",X"00",X"16",X"55",X"55",X"00",X"66",X"55",X"66",X"00",X"66",X"55",X"55", + X"00",X"66",X"55",X"55",X"00",X"11",X"55",X"55",X"00",X"11",X"56",X"44",X"00",X"55",X"56",X"44", + X"00",X"44",X"66",X"06",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"50",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"4E",X"00", + X"00",X"00",X"66",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"E6",X"00",X"00",X"F5",X"56",X"00", + X"00",X"54",X"41",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"11",X"00", + X"00",X"00",X"46",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"40",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"07",X"00", + X"00",X"00",X"07",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00", + X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"70",X"00",X"00",X"60",X"07",X"00", + X"00",X"60",X"07",X"00",X"00",X"06",X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"66",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"06",X"00",X"00",X"06",X"60",X"00",X"00",X"60",X"60",X"60",X"00",X"60",X"00",X"60", + X"00",X"66",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"06",X"70",X"00",X"00",X"00",X"07",X"00", + X"00",X"06",X"07",X"00",X"00",X"60",X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"06",X"60",X"00",X"00",X"60",X"06",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"60",X"00", + X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"EE",X"00", + X"00",X"00",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"A0",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"70",X"00", + X"00",X"00",X"70",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"70",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"0E",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"EE",X"00",X"00",X"00",X"00", + X"00",X"E0",X"00",X"EE",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"77",X"00",X"00",X"00",X"00",X"00",X"16",X"00",X"EE",X"00",X"00",X"00",X"00", + X"00",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"EE",X"00",X"00",X"00",X"00", + X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00", + X"0C",X"AA",X"9C",X"AA",X"00",X"00",X"00",X"00",X"00",X"AA",X"99",X"AC",X"00",X"00",X"00",X"00", + X"00",X"0C",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"55", + X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09", + X"00",X"00",X"00",X"90",X"00",X"90",X"00",X"99",X"00",X"D9",X"09",X"90",X"00",X"DD",X"09",X"90", + X"00",X"9D",X"99",X"99",X"00",X"09",X"9C",X"90",X"00",X"09",X"9F",X"00",X"00",X"00",X"FF",X"00", + X"00",X"00",X"BF",X"00",X"09",X"99",X"9F",X"99",X"B9",X"FF",X"F9",X"FB",X"09",X"99",X"B9",X"99", + X"00",X"DB",X"9F",X"CB",X"00",X"99",X"9B",X"99",X"00",X"00",X"99",X"00",X"00",X"00",X"99",X"00", + X"00",X"00",X"90",X"D0",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"90",X"00",X"09",X"00",X"09", + X"00",X"09",X"00",X"00",X"00",X"9F",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"90",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"0B",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"9F",X"00",X"00",X"00",X"9B",X"00", + X"00",X"00",X"9B",X"00",X"00",X"00",X"9F",X"00",X"00",X"00",X"9B",X"99",X"00",X"00",X"9B",X"9D", + X"00",X"00",X"9F",X"DD",X"00",X"90",X"9F",X"D9",X"00",X"C9",X"9F",X"90",X"00",X"9B",X"F9",X"9B", + X"00",X"99",X"9F",X"B0",X"00",X"99",X"F9",X"00",X"00",X"09",X"9B",X"00",X"00",X"00",X"F9",X"90", + X"00",X"00",X"BF",X"00",X"00",X"00",X"99",X"99",X"00",X"00",X"FF",X"9C",X"00",X"00",X"9F",X"FF", + X"00",X"00",X"9F",X"99",X"00",X"00",X"9F",X"FF",X"00",X"00",X"9B",X"9B",X"00",X"0C",X"9B",X"BB", + X"00",X"09",X"9F",X"99",X"00",X"90",X"9B",X"00",X"00",X"00",X"9B",X"00",X"00",X"00",X"9F",X"00", + X"00",X"00",X"99",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"90",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"66",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"01",X"07", + X"00",X"00",X"00",X"07",X"00",X"70",X"00",X"70",X"00",X"77",X"00",X"70",X"00",X"00",X"00",X"00", + X"00",X"00",X"F0",X"00",X"00",X"06",X"00",X"00",X"00",X"60",X"00",X"10",X"00",X"60",X"00",X"10", + X"00",X"00",X"00",X"01",X"00",X"00",X"07",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"07",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"00",X"00", + X"00",X"70",X"0F",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"20",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"BB",X"00", + X"00",X"BB",X"00",X"BB",X"00",X"00",X"00",X"00",X"0B",X"00",X"00",X"00",X"B0",X"00",X"F0",X"00", + X"20",X"00",X"F0",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"00",X"22", + X"00",X"00",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"0B",X"00",X"00",X"00",X"B0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"28",X"00",X"00",X"00",X"22", + X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"42",X"00",X"00",X"00",X"4E",X"00",X"00",X"00",X"44", + X"00",X"00",X"00",X"24",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"44",X"00",X"00",X"00",X"22", + X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"80", + X"00",X"00",X"00",X"21",X"00",X"00",X"09",X"11",X"00",X"00",X"A9",X"21",X"00",X"00",X"A9",X"41", + X"00",X"AA",X"E9",X"11",X"00",X"AA",X"A9",X"22",X"00",X"AA",X"E9",X"42",X"00",X"AA",X"AA",X"42", + X"00",X"EE",X"AA",X"44",X"00",X"DE",X"AA",X"14",X"00",X"0D",X"AA",X"91",X"00",X"00",X"AA",X"99", + X"00",X"00",X"AA",X"AA",X"00",X"00",X"DD",X"AA",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"DD", + X"00",X"00",X"00",X"0E",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"86", + X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"24",X"00",X"00",X"00",X"14", + X"00",X"00",X"00",X"41",X"00",X"00",X"00",X"41",X"00",X"00",X"00",X"41",X"00",X"00",X"00",X"42", + X"00",X"00",X"00",X"82",X"00",X"00",X"00",X"82",X"00",X"00",X"00",X"84",X"00",X"00",X"00",X"84", + X"00",X"00",X"00",X"01",X"00",X"00",X"09",X"11",X"00",X"00",X"A9",X"11",X"00",X"00",X"A9",X"11", + X"00",X"AA",X"E9",X"11",X"00",X"AA",X"A9",X"11",X"00",X"AA",X"E9",X"44",X"00",X"AA",X"AA",X"42", + X"00",X"EE",X"AA",X"44",X"00",X"DE",X"AA",X"11",X"00",X"0D",X"AA",X"91",X"00",X"00",X"AA",X"99", + X"00",X"00",X"AA",X"AA",X"00",X"00",X"DD",X"AA",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"DD", + X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"88",X"00",X"00",X"09",X"18",X"00",X"00",X"A9",X"18",X"00",X"00",X"A9",X"18", + X"00",X"AA",X"E9",X"22",X"00",X"AA",X"A9",X"22",X"00",X"AA",X"E9",X"22",X"00",X"AA",X"AA",X"24", + X"00",X"EE",X"AA",X"28",X"00",X"DE",X"AA",X"81",X"00",X"0D",X"AA",X"91",X"00",X"00",X"AA",X"99", + X"00",X"00",X"AA",X"AA",X"00",X"00",X"DD",X"AA",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"DD", + X"06",X"00",X"00",X"00",X"60",X"88",X"00",X"00",X"60",X"88",X"00",X"00",X"66",X"68",X"00",X"00", + X"62",X"08",X"00",X"00",X"26",X"02",X"00",X"00",X"FF",X"62",X"00",X"00",X"0F",X"22",X"00",X"00", + X"00",X"12",X"00",X"00",X"00",X"42",X"00",X"00",X"22",X"12",X"00",X"00",X"22",X"42",X"00",X"00", + X"22",X"42",X"00",X"00",X"22",X"10",X"00",X"00",X"22",X"00",X"00",X"00",X"24",X"00",X"00",X"00", + X"41",X"EE",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"11",X"AE",X"00",X"00",X"88",X"EE",X"00", + X"00",X"88",X"AA",X"00",X"82",X"88",X"AA",X"A0",X"82",X"88",X"EA",X"AA",X"22",X"88",X"EE",X"AD", + X"24",X"88",X"AA",X"D0",X"44",X"99",X"AA",X"00",X"46",X"9A",X"AA",X"00",X"66",X"AA",X"AA",X"00", + X"99",X"AA",X"AD",X"00",X"AA",X"AA",X"DD",X"00",X"AA",X"AA",X"00",X"00",X"DD",X"DD",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"C0", + X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"D0", + X"00",X"00",X"0D",X"CC",X"00",X"00",X"D0",X"00",X"00",X"00",X"CC",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"DD",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"90",X"00",X"00",X"00",X"00",X"00",X"90",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"0C", + X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"C0",X"0C",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"C0",X"00",X"00",X"00",X"00", + X"0D",X"00",X"00",X"00",X"CC",X"0C",X"00",X"00",X"00",X"00",X"0D",X"00",X"00",X"C0",X"00",X"00", + X"00",X"0C",X"00",X"00",X"D0",X"90",X"0C",X"00",X"CC",X"00",X"00",X"00",X"0C",X"00",X"C0",X"00", + X"00",X"D0",X"0D",X"00",X"0D",X"DD",X"00",X"00",X"CD",X"C0",X"0C",X"00",X"0C",X"CC",X"00",X"00", + X"00",X"0C",X"00",X"00",X"D0",X"00",X"00",X"90",X"CD",X"00",X"00",X"00",X"0C",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"D0",X"D0",X"00",X"00",X"0D",X"CD",X"00",X"00",X"C0",X"C0", + X"00",X"00",X"0C",X"0C",X"00",X"C0",X"00",X"00",X"00",X"D0",X"00",X"00",X"00",X"00",X"CD",X"00", + X"00",X"00",X"00",X"DD",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"CC",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"D0",X"00",X"00",X"0C",X"C0", + X"DC",X"00",X"00",X"C0",X"CD",X"0C",X"00",X"00",X"00",X"00",X"0C",X"0D",X"00",X"00",X"00",X"0C", + X"DC",X"00",X"00",X"00",X"C0",X"00",X"00",X"CD",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00", + X"D0",X"DD",X"00",X"C0",X"CC",X"CC",X"00",X"D0",X"0C",X"D0",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00", + X"D0",X"00",X"00",X"00",X"0C",X"CD",X"0C",X"90",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"88",X"00",X"00",X"66",X"80",X"00",X"00",X"66",X"82",X"00",X"00",X"26",X"82",X"00", + X"00",X"61",X"82",X"00",X"88",X"FF",X"22",X"00",X"08",X"0F",X"22",X"00",X"88",X"00",X"24",X"00", + X"00",X"00",X"20",X"00",X"00",X"22",X"20",X"00",X"00",X"22",X"20",X"00",X"00",X"22",X"20",X"00", + X"00",X"22",X"00",X"20",X"00",X"22",X"00",X"00",X"00",X"21",X"00",X"00",X"88",X"12",X"00",X"40", + X"08",X"01",X"22",X"00",X"08",X"00",X"00",X"00",X"08",X"02",X"22",X"00",X"00",X"22",X"22",X"00", + X"04",X"00",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22",X"20",X"00",X"00",X"22",X"22", + X"08",X"00",X"42",X"04",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"22", + X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"88",X"00",X"00",X"66",X"80",X"00",X"00",X"66",X"82",X"00",X"00",X"26",X"82",X"00", + X"00",X"61",X"82",X"00",X"88",X"FF",X"22",X"00",X"08",X"0F",X"22",X"00",X"88",X"00",X"24",X"00", + X"00",X"00",X"20",X"00",X"00",X"22",X"20",X"00",X"00",X"22",X"20",X"00",X"00",X"22",X"20",X"00", + X"00",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"21",X"02",X"00",X"88",X"12",X"22",X"00", + X"08",X"01",X"24",X"00",X"08",X"00",X"41",X"00",X"08",X"00",X"22",X"00",X"00",X"00",X"22",X"00", + X"00",X"00",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"22",X"22",X"00",X"00",X"42",X"22",X"22", + X"08",X"22",X"22",X"20",X"00",X"24",X"42",X"00",X"00",X"22",X"04",X"00",X"00",X"00",X"00",X"22", + X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"88",X"00",X"00",X"66",X"80",X"00",X"00",X"66",X"82",X"00",X"00",X"26",X"82",X"00", + X"00",X"61",X"82",X"00",X"88",X"FF",X"22",X"00",X"08",X"0F",X"22",X"00",X"88",X"00",X"24",X"00", + X"00",X"00",X"20",X"00",X"00",X"22",X"20",X"00",X"00",X"22",X"20",X"00",X"00",X"22",X"20",X"00", + X"00",X"22",X"11",X"00",X"00",X"22",X"22",X"00",X"00",X"21",X"21",X"00",X"88",X"12",X"22",X"24", + X"08",X"01",X"42",X"22",X"08",X"00",X"14",X"22",X"08",X"00",X"11",X"22",X"00",X"00",X"01",X"22", + X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"44",X"00",X"00",X"04",X"41", + X"08",X"00",X"01",X"44",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"EE", + X"00",X"00",X"00",X"11",X"00",X"00",X"09",X"11",X"00",X"00",X"A9",X"11",X"00",X"00",X"A9",X"11", + X"00",X"AA",X"E9",X"11",X"00",X"AA",X"A9",X"11",X"00",X"AA",X"E9",X"11",X"00",X"AA",X"AA",X"11", + X"00",X"EE",X"AA",X"11",X"00",X"DE",X"AA",X"11",X"00",X"0D",X"AA",X"91",X"00",X"00",X"AA",X"99", + X"00",X"00",X"AA",X"AA",X"00",X"00",X"DD",X"AA",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"DD", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"08",X"AA",X"00", + X"00",X"00",X"AA",X"00",X"00",X"08",X"AF",X"00",X"00",X"08",X"AF",X"00",X"00",X"80",X"AA",X"00", + X"00",X"80",X"AA",X"00",X"00",X"0A",X"AA",X"00",X"EE",X"AA",X"AA",X"00",X"11",X"01",X"AA",X"00", + X"11",X"EE",X"AA",X"00",X"11",X"11",X"AA",X"00",X"11",X"11",X"1A",X"00",X"11",X"D1",X"11",X"D0", + X"11",X"D1",X"A1",X"DD",X"11",X"D1",X"AA",X"AD",X"11",X"D1",X"EA",X"AA",X"11",X"D1",X"EE",X"AD", + X"11",X"D1",X"AA",X"D0",X"11",X"99",X"AA",X"00",X"66",X"9A",X"AA",X"00",X"66",X"AA",X"AA",X"00", + X"99",X"AA",X"AD",X"00",X"AA",X"AA",X"DD",X"00",X"AA",X"AA",X"00",X"00",X"DD",X"DD",X"00",X"00", + X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"05",X"00", + X"00",X"00",X"50",X"00",X"00",X"0D",X"55",X"00",X"00",X"D9",X"00",X"10",X"00",X"99",X"00",X"99", + X"00",X"91",X"00",X"11",X"00",X"D9",X"55",X"71",X"00",X"99",X"11",X"D1",X"00",X"FF",X"99",X"D1", + X"00",X"AA",X"D9",X"D9",X"00",X"AA",X"9D",X"D9",X"00",X"AA",X"99",X"99",X"00",X"AA",X"19",X"9B", + X"00",X"1A",X"19",X"BD",X"00",X"1A",X"19",X"D9",X"00",X"1A",X"19",X"99",X"00",X"AA",X"19",X"99", + X"00",X"AA",X"99",X"9D",X"00",X"AF",X"99",X"D1",X"00",X"AA",X"DD",X"10",X"00",X"AF",X"1D",X"10", + X"00",X"11",X"D1",X"00",X"00",X"0D",X"10",X"00",X"00",X"0D",X"00",X"00",X"00",X"0D",X"00",X"00", + X"00",X"00",X"00",X"00",X"88",X"00",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"90",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"99", + X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"09",X"00",X"00",X"00",X"00",X"A7",X"00",X"99",X"90", + X"00",X"00",X"00",X"00",X"A7",X"EE",X"99",X"99",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"99", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"99", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"00", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"A8",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"0A",X"88",X"88",X"88",X"1A",X"88",X"88",X"88",X"1A",X"88",X"88",X"88",X"1A",X"58",X"88", + X"88",X"15",X"55",X"88",X"88",X"15",X"55",X"88",X"88",X"55",X"11",X"88",X"88",X"15",X"11",X"88", + X"88",X"15",X"55",X"18",X"88",X"15",X"B5",X"18",X"81",X"15",X"5B",X"A8",X"8A",X"15",X"5A",X"A8", + X"8A",X"15",X"1A",X"88",X"81",X"15",X"5A",X"88",X"88",X"15",X"5A",X"88",X"88",X"15",X"11",X"88", + X"88",X"15",X"81",X"88",X"88",X"A5",X"88",X"88",X"88",X"A5",X"18",X"88",X"88",X"A5",X"A1",X"88", + X"88",X"A5",X"AA",X"88",X"88",X"A5",X"AA",X"88",X"88",X"15",X"11",X"88",X"88",X"81",X"88",X"88", + X"88",X"88",X"88",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"6E",X"00",X"00",X"00",X"6E",X"00",X"00",X"06",X"6E",X"00",X"00",X"66",X"6E", + X"00",X"00",X"00",X"6E",X"00",X"00",X"00",X"6E",X"00",X"00",X"00",X"6E",X"00",X"00",X"00",X"6E", + X"00",X"00",X"00",X"6E",X"00",X"00",X"05",X"6E",X"00",X"00",X"00",X"6E",X"00",X"00",X"11",X"6E", + X"00",X"00",X"11",X"6E",X"00",X"00",X"00",X"6E",X"00",X"00",X"10",X"6E",X"00",X"00",X"11",X"6E", + X"00",X"00",X"01",X"6E",X"00",X"00",X"00",X"6E",X"00",X"00",X"40",X"6E",X"00",X"00",X"46",X"6E", + X"00",X"00",X"46",X"6E",X"00",X"00",X"06",X"6E",X"00",X"00",X"66",X"6E",X"00",X"00",X"66",X"6E", + X"00",X"00",X"66",X"6E",X"00",X"00",X"66",X"6E",X"00",X"00",X"66",X"6E",X"00",X"00",X"66",X"6E", + X"00",X"00",X"11",X"6E",X"00",X"00",X"01",X"6E",X"00",X"00",X"00",X"6E",X"00",X"00",X"00",X"6E", + X"00",X"11",X"00",X"6E",X"00",X"13",X"00",X"6E",X"00",X"10",X"06",X"6E",X"00",X"1F",X"66",X"6E", + X"00",X"41",X"00",X"6E",X"00",X"41",X"00",X"6E",X"00",X"44",X"00",X"6E",X"00",X"44",X"10",X"6E", + X"00",X"44",X"40",X"6E",X"00",X"07",X"40",X"6E",X"00",X"07",X"40",X"6E",X"00",X"01",X"41",X"6E", + X"00",X"11",X"44",X"6E",X"00",X"AA",X"44",X"6E",X"00",X"4D",X"44",X"6E",X"00",X"44",X"44",X"6E", + X"00",X"44",X"14",X"6E",X"00",X"14",X"01",X"6E",X"00",X"01",X"41",X"6E",X"00",X"00",X"46",X"6E", + X"00",X"00",X"46",X"6E",X"00",X"00",X"06",X"6E",X"00",X"00",X"66",X"6E",X"00",X"00",X"66",X"6E", + X"00",X"00",X"66",X"6E",X"00",X"00",X"66",X"6E",X"00",X"00",X"66",X"6E",X"00",X"00",X"66",X"6E", + X"00",X"00",X"11",X"6E",X"00",X"00",X"01",X"6E",X"00",X"00",X"00",X"6E",X"00",X"00",X"00",X"6E", + X"00",X"11",X"00",X"6E",X"00",X"13",X"00",X"6E",X"00",X"43",X"06",X"6E",X"00",X"10",X"66",X"6E", + X"00",X"4F",X"00",X"6E",X"00",X"41",X"00",X"6E",X"04",X"44",X"00",X"6E",X"04",X"44",X"10",X"6E", + X"01",X"71",X"40",X"6E",X"00",X"70",X"40",X"6E",X"00",X"00",X"40",X"6E",X"00",X"01",X"41",X"6E", + X"00",X"1A",X"44",X"6E",X"00",X"AD",X"44",X"6E",X"00",X"AD",X"44",X"6E",X"00",X"41",X"44",X"6E", + X"00",X"44",X"14",X"6E",X"00",X"44",X"01",X"6E",X"00",X"14",X"41",X"6E",X"00",X"11",X"46",X"6E", + X"00",X"00",X"46",X"6E",X"00",X"00",X"06",X"6E",X"00",X"00",X"66",X"6E",X"00",X"00",X"66",X"6E", + X"00",X"00",X"66",X"6E",X"00",X"00",X"66",X"6E",X"00",X"00",X"66",X"6E",X"00",X"00",X"66",X"6E", + X"00",X"00",X"11",X"6E",X"00",X"00",X"01",X"6E",X"00",X"00",X"00",X"6E",X"00",X"00",X"00",X"6E", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00", + X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"E6",X"00",X"00",X"66",X"60",X"00", + X"00",X"66",X"60",X"0D",X"00",X"6A",X"66",X"E0",X"00",X"60",X"EE",X"E0",X"00",X"AA",X"66",X"EE", + X"00",X"60",X"66",X"EE",X"00",X"6A",X"E6",X"EE",X"00",X"6A",X"66",X"EE",X"00",X"6A",X"0E",X"EE", + X"00",X"A0",X"D0",X"EE",X"00",X"00",X"00",X"6E",X"00",X"A0",X"0A",X"6E",X"00",X"A0",X"AA",X"EE", + X"00",X"66",X"A0",X"EE",X"00",X"66",X"AA",X"60",X"00",X"66",X"AA",X"60",X"00",X"AA",X"AA",X"60", + X"00",X"66",X"0A",X"60",X"00",X"00",X"0A",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"AA",X"00", + X"00",X"00",X"66",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00", + X"00",X"09",X"FF",X"00",X"00",X"09",X"FF",X"00",X"00",X"09",X"FF",X"00",X"00",X"0F",X"FB",X"00", + X"00",X"0F",X"FB",X"00",X"00",X"0F",X"BA",X"00",X"00",X"0F",X"55",X"00",X"00",X"00",X"55",X"00", + X"00",X"00",X"AA",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"06",X"00",X"00", + X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"7A",X"00",X"00",X"00",X"AA", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00", + X"00",X"00",X"FF",X"00",X"00",X"0F",X"99",X"00",X"00",X"0F",X"09",X"00",X"00",X"0F",X"00",X"00", + X"00",X"0F",X"00",X"00",X"00",X"0F",X"09",X"00",X"00",X"0F",X"99",X"00",X"00",X"00",X"55",X"00", + X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"06",X"00",X"00", + X"00",X"60",X"00",X"00",X"00",X"A0",X"00",X"00",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00", + X"00",X"00",X"AF",X"00",X"00",X"0F",X"FF",X"00",X"00",X"0F",X"FF",X"00",X"00",X"0F",X"FB",X"00", + X"00",X"0F",X"BB",X"00",X"00",X"0F",X"B5",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00", + X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"06",X"00",X"00", + X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00", + X"00",X"00",X"FF",X"00",X"00",X"0F",X"FF",X"00",X"00",X"0F",X"FB",X"00",X"00",X"0F",X"FB",X"00", + X"00",X"0F",X"BB",X"00",X"00",X"0F",X"B5",X"00",X"00",X"0F",X"55",X"00",X"00",X"00",X"55",X"00", + X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"06",X"00",X"00", + X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"93", + X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"93", + X"00",X"00",X"00",X"93",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"93", + X"00",X"00",X"30",X"09",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"09",X"00", + X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"90",X"00",X"00",X"00",X"90",X"00",X"00", + X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"03",X"00",X"00", + X"00",X"39",X"00",X"00",X"33",X"90",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"30",X"00",X"99",X"00",X"90",X"00", + X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"33",X"99",X"00",X"00",X"99",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00", + X"33",X"90",X"00",X"00",X"99",X"00",X"03",X"00",X"00",X"00",X"39",X"00",X"33",X"33",X"90",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"93",X"00",X"00",X"00",X"09", + X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00", + X"00",X"30",X"00",X"33",X"00",X"30",X"00",X"99",X"00",X"33",X"00",X"09",X"00",X"99",X"00",X"09", + X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"09",X"00", + X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"09", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30", + X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"99",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00", + X"33",X"00",X"00",X"00",X"99",X"00",X"33",X"00",X"00",X"03",X"99",X"00",X"00",X"03",X"90",X"00", + X"03",X"33",X"00",X"00",X"09",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00", + X"93",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"33",X"00",X"33",X"00",X"99",X"00",X"39",X"33",X"00",X"00",X"99",X"99",X"00",X"03",X"90", + X"00",X"00",X"03",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"39",X"00",X"00",X"00",X"99",X"00", + X"00",X"33",X"00",X"00",X"33",X"99",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"99", + X"00",X"00",X"09",X"99",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"99",X"00",X"00",X"09",X"99", + X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"99",X"00",X"00",X"90",X"99",X"00",X"00",X"09",X"99", + X"00",X"00",X"09",X"90",X"00",X"00",X"09",X"00",X"00",X"00",X"99",X"0A",X"00",X"00",X"09",X"AA", + X"00",X"00",X"09",X"0E",X"00",X"00",X"9B",X"00",X"00",X"90",X"99",X"90",X"00",X"09",X"09",X"99", + X"00",X"99",X"99",X"99",X"00",X"9B",X"B9",X"99",X"00",X"99",X"99",X"99",X"00",X"09",X"99",X"09", + X"00",X"99",X"99",X"99",X"00",X"99",X"99",X"99",X"00",X"99",X"90",X"99",X"00",X"90",X"99",X"99", + X"00",X"09",X"99",X"99",X"00",X"99",X"9B",X"B9",X"00",X"00",X"09",X"99",X"00",X"00",X"90",X"99", + X"00",X"00",X"A0",X"00",X"00",X"00",X"AF",X"A0",X"00",X"60",X"AA",X"A0",X"00",X"0A",X"00",X"A0", + X"06",X"6A",X"00",X"00",X"00",X"AA",X"00",X"0A",X"00",X"00",X"70",X"6A",X"00",X"00",X"00",X"0A", + X"F0",X"60",X"60",X"0A",X"00",X"00",X"70",X"70",X"66",X"67",X"00",X"00",X"00",X"77",X"00",X"00", + X"0A",X"00",X"00",X"06",X"00",X"07",X"00",X"00",X"00",X"07",X"00",X"77",X"00",X"07",X"00",X"07", + X"66",X"00",X"0F",X"77",X"00",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"AA", + X"00",X"00",X"00",X"00",X"00",X"70",X"00",X"00",X"66",X"60",X"66",X"0A",X"00",X"00",X"77",X"00", + X"00",X"A0",X"77",X"AA",X"00",X"00",X"07",X"A0",X"00",X"A0",X"67",X"00",X"00",X"A0",X"00",X"00", + X"00",X"6A",X"6A",X"06",X"00",X"0A",X"AA",X"00",X"00",X"60",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"EE",X"00",X"00",X"00",X"00",X"70",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"06",X"06",X"A0", + X"00",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"F0",X"00",X"00",X"7A",X"77",X"00", + X"00",X"00",X"FA",X"00",X"00",X"00",X"FA",X"00",X"00",X"A0",X"FA",X"00",X"00",X"77",X"07",X"00", + X"00",X"00",X"00",X"00",X"00",X"07",X"0F",X"00",X"00",X"0F",X"00",X"00",X"E0",X"F6",X"00",X"00", + X"00",X"00",X"0A",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"6A",X"60",X"00",X"00",X"00",X"A0",X"00", + X"00",X"06",X"76",X"00",X"00",X"00",X"07",X"00",X"00",X"A7",X"FA",X"60",X"00",X"0A",X"7F",X"00", + X"00",X"6F",X"77",X"00",X"00",X"00",X"70",X"06",X"00",X"7F",X"AA",X"00",X"00",X"67",X"0F",X"00", + X"00",X"06",X"F6",X"00",X"00",X"0A",X"00",X"00",X"60",X"A0",X"60",X"00",X"00",X"00",X"07",X"00", + X"00",X"00",X"76",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"07",X"00",X"00",X"00",X"A6",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"71",X"00",X"C0",X"00",X"77", + X"00",X"CC",X"66",X"77",X"00",X"66",X"55",X"7A",X"00",X"66",X"55",X"1A",X"00",X"06",X"55",X"5A", + X"00",X"06",X"55",X"AA",X"00",X"0C",X"55",X"AA",X"00",X"0C",X"55",X"AA",X"66",X"0C",X"35",X"AA", + X"5C",X"0C",X"33",X"AA",X"55",X"CD",X"33",X"AA",X"55",X"CD",X"33",X"AA",X"55",X"CD",X"30",X"AA", + X"AA",X"CD",X"30",X"AA",X"AA",X"CD",X"30",X"AA",X"1A",X"CD",X"30",X"A1",X"1A",X"CD",X"11",X"A1", + X"1A",X"CD",X"11",X"A1",X"0A",X"C1",X"11",X"A1",X"0A",X"C1",X"01",X"A1",X"0A",X"00",X"01",X"A1", + X"0A",X"00",X"01",X"A1",X"0A",X"00",X"00",X"A0",X"00",X"00",X"00",X"A0",X"00",X"00",X"00",X"A1", + X"00",X"00",X"00",X"A0",X"00",X"00",X"00",X"A0",X"00",X"00",X"00",X"A0",X"00",X"00",X"00",X"00", + X"AA",X"00",X"60",X"00",X"A0",X"00",X"66",X"00",X"00",X"00",X"06",X"00",X"07",X"00",X"00",X"00", + X"07",X"A0",X"70",X"00",X"00",X"6D",X"27",X"00",X"3A",X"3D",X"AA",X"00",X"3A",X"3D",X"7A",X"00", + X"3A",X"3D",X"77",X"00",X"AA",X"DD",X"07",X"00",X"AA",X"DD",X"00",X"60",X"AA",X"DD",X"AA",X"60", + X"AC",X"DD",X"3A",X"66",X"AC",X"D3",X"5A",X"66",X"A5",X"D3",X"5A",X"56",X"A6",X"D3",X"5A",X"55", + X"A1",X"DD",X"5A",X"55",X"A1",X"DD",X"6A",X"55",X"A1",X"DD",X"6A",X"50",X"A1",X"1D",X"6A",X"00", + X"A1",X"1D",X"66",X"00",X"A1",X"1D",X"66",X"00",X"A1",X"1D",X"60",X"00",X"A1",X"1D",X"60",X"00", + X"A0",X"1D",X"00",X"00",X"A0",X"1D",X"00",X"00",X"A0",X"0D",X"00",X"00",X"00",X"0D",X"00",X"00", + X"00",X"0D",X"00",X"00",X"00",X"0D",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"3D",X"00",X"00",X"0D",X"44",X"00",X"00",X"DC",X"AA",X"00", + X"00",X"DA",X"0A",X"00",X"00",X"EA",X"F0",X"00",X"00",X"E0",X"FF",X"00",X"00",X"E0",X"FF",X"CC", + X"0C",X"C0",X"FF",X"CC",X"CC",X"C0",X"FF",X"EE",X"CC",X"C0",X"55",X"00",X"E0",X"E0",X"50",X"00", + X"00",X"EA",X"00",X"00",X"00",X"EE",X"0A",X"00",X"00",X"06",X"AE",X"00",X"00",X"00",X"60",X"00", + X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"00", + X"00",X"00",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"00", + X"06",X"0E",X"00",X"00",X"00",X"EE",X"E0",X"00",X"00",X"EE",X"EE",X"00",X"00",X"EE",X"6E",X"00", + X"00",X"0E",X"61",X"00",X"00",X"00",X"16",X"00",X"00",X"0E",X"1E",X"00",X"00",X"0E",X"1E",X"00", + X"00",X"66",X"6E",X"00",X"00",X"66",X"00",X"09",X"00",X"66",X"00",X"09",X"00",X"11",X"00",X"99", + X"00",X"00",X"01",X"9A",X"00",X"00",X"11",X"AA",X"00",X"00",X"77",X"AA",X"00",X"0E",X"91",X"4A", + X"00",X"00",X"99",X"44",X"00",X"00",X"99",X"54",X"00",X"0E",X"09",X"54",X"00",X"1E",X"07",X"44", + X"00",X"71",X"74",X"44",X"01",X"44",X"44",X"44",X"11",X"44",X"44",X"41",X"14",X"44",X"45",X"11", + X"4A",X"44",X"44",X"10",X"AA",X"44",X"44",X"00",X"AA",X"44",X"00",X"00",X"11",X"11",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"00",X"E0",X"60", + X"00",X"00",X"E0",X"00",X"00",X"EE",X"EE",X"00",X"00",X"EE",X"6E",X"00",X"00",X"EE",X"E6",X"00", + X"00",X"00",X"E6",X"00",X"00",X"0A",X"E1",X"00",X"00",X"07",X"E1",X"00",X"00",X"00",X"E1",X"00", + X"00",X"66",X"E6",X"00",X"00",X"66",X"60",X"00",X"00",X"16",X"10",X"00",X"00",X"01",X"90",X"00", + X"00",X"00",X"A9",X"00",X"00",X"00",X"A9",X"00",X"00",X"11",X"A9",X"00",X"00",X"14",X"67",X"00", + X"00",X"47",X"E6",X"10",X"00",X"79",X"0E",X"10",X"00",X"19",X"0E",X"11",X"00",X"77",X"60",X"41", + X"00",X"41",X"77",X"41",X"00",X"44",X"11",X"11",X"00",X"44",X"44",X"10",X"00",X"44",X"44",X"00", + X"00",X"14",X"44",X"00",X"00",X"11",X"44",X"00",X"00",X"01",X"A4",X"00",X"00",X"00",X"11",X"00", + X"00",X"E1",X"00",X"00",X"00",X"6E",X"10",X"00",X"00",X"1E",X"11",X"00",X"00",X"16",X"E6",X"00", + X"00",X"11",X"66",X"00",X"00",X"1E",X"6E",X"00",X"00",X"1E",X"EE",X"00",X"00",X"1E",X"E6",X"00", + X"00",X"01",X"E1",X"00",X"00",X"00",X"61",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"09",X"00",X"00",X"E1",X"99",X"00",X"00",X"EE",X"99",X"00",X"00",X"6E",X"00", + X"00",X"AA",X"1E",X"90",X"00",X"A0",X"16",X"90",X"00",X"A0",X"06",X"09",X"00",X"00",X"00",X"00", + X"00",X"05",X"00",X"AA",X"00",X"55",X"55",X"AA",X"00",X"55",X"55",X"AA",X"00",X"55",X"50",X"AA", + X"00",X"A5",X"06",X"AA",X"00",X"AA",X"66",X"99",X"00",X"AA",X"AA",X"00",X"00",X"0A",X"A9",X"00", + X"00",X"1A",X"90",X"00",X"00",X"AA",X"00",X"00",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"5F",X"00",X"00", + X"00",X"F5",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00", + X"00",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"E0", + X"00",X"00",X"00",X"00",X"00",X"06",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"AE",X"00", + X"00",X"00",X"00",X"00",X"00",X"AA",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"7E",X"00", + X"00",X"00",X"00",X"00",X"00",X"70",X"7E",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"7E",X"00", + X"00",X"00",X"00",X"00",X"00",X"E7",X"E6",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00", + X"00",X"00",X"00",X"00",X"00",X"CC",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"DD",X"CC",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"DC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"DD",X"00", + X"00",X"00",X"00",X"00",X"0D",X"00",X"DD",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"DE",X"02", + X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"B2",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"22", + X"00",X"00",X"00",X"00",X"00",X"EE",X"E0",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"2A", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"55",X"00",X"00",X"00",X"5F",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"05",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"E1",X"00",X"00",X"00",X"6E",X"10",X"00",X"00",X"1E",X"11",X"00",X"00",X"16",X"E6",X"00", + X"00",X"11",X"66",X"00",X"00",X"1E",X"6E",X"00",X"00",X"1E",X"EE",X"00",X"00",X"1E",X"E6",X"00", + X"00",X"01",X"E1",X"00",X"00",X"00",X"61",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"09",X"00",X"00",X"E1",X"99",X"00",X"00",X"EE",X"99",X"00",X"00",X"6E",X"00", + X"00",X"AA",X"1E",X"90",X"00",X"A0",X"16",X"90",X"00",X"00",X"06",X"09",X"00",X"55",X"00",X"00", + X"00",X"55",X"00",X"AA",X"00",X"AA",X"55",X"AA",X"00",X"AA",X"55",X"AA",X"00",X"1A",X"50",X"AA", + X"00",X"01",X"06",X"AA",X"00",X"00",X"06",X"99",X"00",X"00",X"6A",X"00",X"00",X"00",X"A9",X"00", + X"00",X"01",X"90",X"00",X"00",X"11",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"65",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"50",X"00",X"00",X"00",X"50",X"00",X"00",X"00",X"50",X"00",X"00",X"00",X"50",X"00", + X"00",X"00",X"50",X"00",X"00",X"00",X"50",X"00",X"00",X"00",X"50",X"00",X"00",X"00",X"50",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"E1",X"00",X"00",X"00",X"6E",X"10",X"00",X"00",X"1E",X"11", + X"00",X"00",X"16",X"E6",X"00",X"00",X"11",X"66",X"00",X"00",X"1E",X"6E",X"00",X"00",X"1E",X"EE", + X"00",X"00",X"1E",X"E6",X"00",X"00",X"01",X"E1",X"00",X"00",X"00",X"61",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E1",X"00",X"00",X"DC",X"EE", + X"00",X"00",X"DC",X"6E",X"00",X"00",X"DD",X"6E",X"00",X"09",X"0D",X"60",X"00",X"99",X"DD",X"0C", + X"00",X"09",X"00",X"CC",X"00",X"D9",X"DD",X"CD",X"99",X"D0",X"0D",X"DD",X"99",X"E9",X"DD",X"DC", + X"00",X"99",X"DD",X"D9",X"00",X"00",X"CC",X"99",X"00",X"00",X"CC",X"00",X"00",X"00",X"00",X"00", + X"88",X"00",X"88",X"88",X"80",X"77",X"77",X"88",X"80",X"78",X"88",X"88",X"80",X"F8",X"FF",X"88", + X"80",X"F8",X"77",X"88",X"80",X"F8",X"88",X"88",X"80",X"F8",X"FF",X"88",X"80",X"F8",X"77",X"88", + X"80",X"F8",X"88",X"88",X"80",X"77",X"77",X"88",X"88",X"77",X"77",X"88",X"88",X"80",X"88",X"88", + X"88",X"00",X"88",X"88",X"88",X"0B",X"88",X"88",X"88",X"BB",X"38",X"88",X"88",X"8B",X"33",X"88", + X"88",X"B8",X"38",X"88",X"88",X"BB",X"88",X"88",X"88",X"88",X"33",X"88",X"88",X"DD",X"33",X"88", + X"88",X"D3",X"33",X"88",X"88",X"DD",X"33",X"88",X"88",X"D3",X"38",X"88",X"88",X"BD",X"88",X"88", + X"88",X"88",X"33",X"88",X"88",X"DD",X"33",X"88",X"88",X"DD",X"33",X"88",X"88",X"DD",X"33",X"88", + X"88",X"DD",X"33",X"88",X"88",X"DD",X"33",X"88",X"88",X"DD",X"38",X"88",X"88",X"83",X"88",X"88", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"55",X"30",X"00",X"00",X"55",X"EE", + X"00",X"00",X"55",X"5E",X"00",X"00",X"E5",X"5E",X"00",X"05",X"E5",X"E5",X"00",X"51",X"EE",X"5E", + X"00",X"55",X"EE",X"55",X"00",X"55",X"E5",X"55",X"00",X"55",X"E5",X"55",X"00",X"05",X"E5",X"55", + X"00",X"05",X"E5",X"55",X"00",X"55",X"65",X"55",X"00",X"55",X"65",X"55",X"00",X"55",X"65",X"55", + X"00",X"51",X"66",X"56",X"00",X"04",X"65",X"64",X"00",X"00",X"65",X"56",X"00",X"00",X"55",X"56", + X"00",X"00",X"45",X"66",X"00",X"00",X"44",X"44",X"00",X"00",X"44",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"70", + X"00",X"50",X"53",X"E3",X"00",X"55",X"E5",X"5E",X"00",X"15",X"E5",X"5E",X"00",X"15",X"E5",X"55", + X"00",X"11",X"EE",X"EE",X"0E",X"61",X"E5",X"55",X"0E",X"61",X"E5",X"55",X"55",X"61",X"E5",X"55", + X"44",X"61",X"E5",X"55",X"06",X"61",X"65",X"55",X"0E",X"61",X"65",X"55",X"00",X"11",X"66",X"66", + X"00",X"15",X"65",X"55",X"00",X"15",X"65",X"56",X"00",X"55",X"64",X"46",X"00",X"50",X"44",X"64", + X"00",X"00",X"40",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"00", + X"00",X"00",X"EE",X"00",X"00",X"0E",X"66",X"00",X"00",X"0E",X"66",X"00",X"00",X"55",X"66",X"00", + X"00",X"44",X"66",X"00",X"00",X"06",X"61",X"00",X"00",X"0E",X"16",X"00",X"00",X"00",X"66",X"00", + X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"00", + X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"06",X"60",X"00",X"00",X"60",X"60",X"00", + X"00",X"60",X"00",X"00",X"00",X"06",X"06",X"00",X"00",X"00",X"06",X"00",X"00",X"66",X"0A",X"00", + X"00",X"00",X"00",X"00",X"00",X"A6",X"06",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"A0",X"00", + X"00",X"00",X"60",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"60",X"00", + X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"0A",X"00", + X"00",X"00",X"00",X"00",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"66",X"A0",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"60",X"00",X"00",X"06",X"06",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"A0",X"00", + X"00",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"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"00", + X"00",X"00",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"E6",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"6E",X"00",X"00",X"00",X"00",X"00", + X"00",X"7E",X"06",X"EE",X"00",X"00",X"00",X"00",X"00",X"E1",X"0E",X"E6",X"00",X"00",X"00",X"00", + X"00",X"6E",X"0E",X"EE",X"00",X"00",X"00",X"00",X"00",X"6E",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"66",X"00",X"6E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"EE",X"0E",X"0A",X"00",X"00",X"00",X"00",X"AA",X"EA",X"AE",X"AA",X"00",X"00",X"00",X"00", + X"CA",X"CA",X"AA",X"AA",X"00",X"00",X"00",X"00",X"00",X"A9",X"9C",X"C0",X"00",X"00",X"00",X"00", + X"00",X"AA",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"F5", + X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"50",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"00",X"90",X"00",X"00",X"00",X"90",X"00", + X"00",X"00",X"99",X"00",X"00",X"B0",X"9B",X"00",X"00",X"0B",X"CF",X"00",X"00",X"99",X"9F",X"00", + X"00",X"D0",X"F9",X"00",X"00",X"DD",X"F9",X"00",X"00",X"9B",X"99",X"00",X"00",X"09",X"9B",X"00", + X"00",X"00",X"9F",X"00",X"99",X"99",X"9C",X"99",X"FB",X"F9",X"FF",X"BF",X"99",X"9F",X"F9",X"99", + X"09",X"D9",X"9D",X"DB",X"00",X"99",X"DD",X"99",X"00",X"00",X"9D",X"00",X"00",X"99",X"09",X"00", + X"00",X"9F",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"9B",X"00",X"00",X"00",X"C9",X"00",X"00", + X"00",X"99",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"90",X"00", + X"00",X"00",X"90",X"99",X"00",X"00",X"90",X"9D",X"00",X"00",X"90",X"D9",X"09",X"00",X"90",X"90", + X"00",X"00",X"90",X"90",X"00",X"00",X"90",X"00",X"00",X"99",X"90",X"B0",X"00",X"9F",X"90",X"00", + X"00",X"B0",X"99",X"00",X"00",X"9B",X"9B",X"00",X"00",X"9B",X"CC",X"00",X"00",X"99",X"F9",X"90", + X"00",X"09",X"9B",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"99",X"99",X"00",X"00",X"CF",X"B9", + X"00",X"09",X"BC",X"99",X"00",X"0C",X"99",X"F9",X"00",X"99",X"99",X"9F",X"00",X"D9",X"90",X"B9", + X"00",X"9D",X"90",X"99",X"00",X"00",X"90",X"90",X"00",X"00",X"90",X"00",X"00",X"00",X"90",X"00", + X"00",X"00",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"67",X"00",X"10",X"00",X"07",X"00",X"01",X"00",X"07", + X"00",X"00",X"06",X"07",X"00",X"00",X"60",X"70",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"00", + X"00",X"00",X"10",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"76",X"00",X"00", + X"00",X"70",X"00",X"00",X"00",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"00", + X"00",X"00",X"70",X"00",X"00",X"00",X"00",X"10",X"F0",X"00",X"00",X"10",X"00",X"00",X"70",X"01", + X"00",X"00",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"77",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"B0",X"00",X"00",X"00",X"B0",X"00", + X"00",X"00",X"B0",X"00",X"00",X"00",X"0B",X"00",X"00",X"00",X"0B",X"00",X"00",X"00",X"0B",X"00", + X"00",X"00",X"0B",X"00",X"00",X"00",X"0B",X"00",X"00",X"00",X"0B",X"00",X"00",X"02",X"BB",X"00", + X"00",X"B2",X"00",X"B0",X"BB",X"02",X"00",X"0B",X"00",X"02",X"00",X"00",X"00",X"02",X"00",X"00", + X"00",X"02",X"00",X"00",X"00",X"02",X"00",X"00",X"22",X"02",X"00",X"02",X"00",X"22",X"0B",X"20", + X"00",X"00",X"22",X"00",X"00",X"00",X"0B",X"00",X"00",X"00",X"0B",X"00",X"00",X"00",X"0B",X"F0", + X"00",X"00",X"0B",X"00",X"00",X"00",X"0B",X"00",X"00",X"00",X"B0",X"00",X"00",X"00",X"B0",X"00", + X"00",X"00",X"B0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"8E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E", + X"00",X"00",X"00",X"86",X"00",X"00",X"00",X"E6",X"00",X"00",X"08",X"16",X"00",X"00",X"08",X"21", + X"00",X"00",X"08",X"44",X"00",X"00",X"08",X"44",X"00",X"00",X"08",X"42",X"00",X"00",X"08",X"14", + X"00",X"00",X"08",X"02",X"00",X"00",X"88",X"04",X"00",X"00",X"80",X"01",X"00",X"00",X"80",X"08", + X"00",X"00",X"80",X"10",X"00",X"00",X"EE",X"10",X"00",X"00",X"11",X"11",X"00",X"0A",X"11",X"11", + X"00",X"AA",X"11",X"11",X"00",X"AA",X"11",X"21",X"00",X"AA",X"91",X"22",X"00",X"AE",X"99",X"42", + X"00",X"EE",X"A9",X"44",X"00",X"EE",X"AA",X"44",X"00",X"EA",X"AA",X"46",X"00",X"DD",X"AA",X"99", + X"00",X"00",X"AA",X"AA",X"00",X"00",X"DA",X"AA",X"00",X"00",X"DD",X"AA",X"00",X"00",X"00",X"DD", + X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"8E",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"04", + X"00",X"00",X"00",X"82",X"00",X"00",X"00",X"22",X"00",X"00",X"08",X"21",X"00",X"00",X"08",X"24", + X"00",X"00",X"08",X"24",X"00",X"00",X"08",X"24",X"00",X"00",X"08",X"22",X"00",X"00",X"08",X"24", + X"00",X"00",X"08",X"28",X"00",X"00",X"88",X"81",X"00",X"00",X"80",X"24",X"00",X"00",X"80",X"48", + X"00",X"00",X"80",X"40",X"00",X"00",X"EE",X"00",X"00",X"00",X"11",X"11",X"00",X"0A",X"11",X"11", + X"00",X"AA",X"11",X"11",X"00",X"AA",X"11",X"44",X"00",X"AA",X"91",X"22",X"00",X"AE",X"99",X"42", + X"00",X"EE",X"A9",X"44",X"00",X"EE",X"AA",X"11",X"00",X"EA",X"AA",X"46",X"00",X"DD",X"AA",X"99", + X"00",X"00",X"AA",X"AA",X"00",X"00",X"DA",X"AA",X"00",X"00",X"DD",X"AA",X"00",X"00",X"00",X"DD", + X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02", + X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"82",X"00",X"00",X"00",X"82", + X"00",X"00",X"00",X"81",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"04", + X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"02", + X"00",X"00",X"00",X"84",X"00",X"00",X"0E",X"80",X"00",X"00",X"11",X"80",X"00",X"0A",X"11",X"80", + X"00",X"AA",X"11",X"80",X"00",X"AA",X"11",X"28",X"00",X"AA",X"91",X"22",X"00",X"AE",X"99",X"42", + X"00",X"EE",X"A9",X"44",X"00",X"EE",X"AA",X"84",X"00",X"EA",X"AA",X"86",X"00",X"DD",X"AA",X"99", + X"00",X"00",X"AA",X"AA",X"00",X"00",X"DA",X"AA",X"00",X"00",X"DD",X"AA",X"00",X"00",X"00",X"DD", + X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"66",X"02",X"00",X"00",X"61",X"22",X"00",X"00", + X"22",X"24",X"00",X"00",X"12",X"21",X"00",X"00",X"F1",X"20",X"00",X"00",X"FF",X"20",X"00",X"00", + X"FF",X"40",X"00",X"00",X"FF",X"40",X"00",X"00",X"44",X"40",X"00",X"00",X"24",X"10",X"00",X"00", + X"24",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"24",X"00",X"00",X"00",X"11",X"00",X"00",X"00", + X"44",X"E0",X"00",X"00",X"14",X"1E",X"00",X"00",X"14",X"11",X"E0",X"00",X"42",X"11",X"AA",X"00", + X"42",X"11",X"AA",X"00",X"22",X"81",X"AA",X"00",X"24",X"81",X"AA",X"00",X"44",X"81",X"EE",X"00", + X"44",X"99",X"EE",X"00",X"46",X"9A",X"AA",X"00",X"66",X"AA",X"AA",X"00",X"99",X"AA",X"AD",X"00", + X"9A",X"AA",X"DD",X"00",X"AA",X"AA",X"00",X"00",X"AA",X"DD",X"00",X"00",X"DD",X"D0",X"00",X"00", + X"00",X"00",X"C0",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"D0",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"0D",X"DD", + X"00",X"00",X"C0",X"C0",X"00",X"00",X"C0",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"09",X"D0",X"00",X"0C",X"00",X"CC",X"00",X"00",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"00",X"00",X"00",X"00",X"00",X"CC",X"00",X"00",X"00",X"CD", + X"00",X"00",X"00",X"D0",X"00",X"C0",X"00",X"D0",X"00",X"00",X"00",X"D0",X"00",X"D0",X"00",X"D0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"C0",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"C0",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00", + X"00",X"00",X"00",X"C0",X"D0",X"00",X"00",X"00",X"0C",X"0D",X"00",X"00",X"00",X"D0",X"00",X"00", + X"00",X"0C",X"00",X"00",X"D0",X"0C",X"00",X"00",X"DD",X"00",X"00",X"00",X"C0",X"00",X"00",X"00", + X"0C",X"00",X"0D",X"00",X"00",X"00",X"00",X"00",X"D0",X"D0",X"0C",X"00",X"0D",X"DD",X"00",X"00", + X"CC",X"D0",X"09",X"00",X"0C",X"CC",X"00",X"00",X"00",X"0C",X"00",X"00",X"D0",X"00",X"00",X"00", + X"00",X"0D",X"00",X"CD",X"00",X"00",X"00",X"0D",X"90",X"00",X"00",X"00",X"00",X"00",X"D0",X"D0", + X"00",X"00",X"DC",X"00",X"00",X"00",X"00",X"CD",X"00",X"00",X"0C",X"0C",X"00",X"C0",X"00",X"00", + X"00",X"00",X"0C",X"00",X"00",X"CD",X"00",X"D0",X"09",X"00",X"00",X"CD",X"00",X"90",X"00",X"C0", + X"00",X"00",X"00",X"00",X"00",X"00",X"90",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C", + X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"90",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"CD",X"00",X"00",X"00",X"CD",X"00",X"00",X"00",X"0D",X"00",X"00",X"00",X"CD",X"00",X"00",X"C0", + X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0D",X"00",X"00",X"0C", + X"CC",X"00",X"00",X"00",X"D0",X"00",X"00",X"00",X"00",X"0D",X"00",X"00",X"00",X"0C",X"00",X"00", + X"00",X"DC",X"00",X"C0",X"0D",X"00",X"0D",X"00",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"90", + X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"0C",X"00",X"0D",X"00",X"00",X"00",X"00",X"00", + X"00",X"0C",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"02",X"66",X"00",X"00", + X"02",X"22",X"00",X"00",X"02",X"66",X"00",X"00",X"02",X"F6",X"00",X"00",X"08",X"F2",X"00",X"00", + X"00",X"FF",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"12",X"00",X"00",X"02",X"41",X"00",X"00", + X"02",X"21",X"00",X"00",X"02",X"12",X"00",X"00",X"04",X"22",X"00",X"00",X"04",X"24",X"22",X"00", + X"08",X"11",X"20",X"00",X"08",X"00",X"00",X"00",X"08",X"22",X"40",X"00",X"42",X"44",X"22",X"00", + X"22",X"00",X"22",X"00",X"48",X"00",X"22",X"01",X"00",X"00",X"22",X"22",X"00",X"00",X"22",X"20", + X"00",X"00",X"22",X"40",X"00",X"00",X"22",X"00",X"00",X"00",X"44",X"00",X"00",X"00",X"04",X"00", + X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"02",X"66",X"00",X"00", + X"02",X"22",X"00",X"00",X"02",X"66",X"00",X"00",X"02",X"F6",X"00",X"00",X"08",X"F2",X"00",X"00", + X"00",X"FF",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"12",X"00",X"00",X"02",X"41",X"00",X"00", + X"02",X"21",X"00",X"00",X"02",X"12",X"00",X"00",X"04",X"22",X"22",X"00",X"04",X"24",X"41",X"00", + X"08",X"11",X"00",X"00",X"08",X"00",X"00",X"00",X"08",X"00",X"40",X"00",X"00",X"00",X"22",X"00", + X"08",X"00",X"22",X"00",X"08",X"02",X"22",X"01",X"00",X"02",X"22",X"24",X"00",X"02",X"22",X"00", + X"00",X"22",X"22",X"00",X"00",X"11",X"22",X"00",X"00",X"00",X"44",X"00",X"00",X"00",X"04",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"02",X"66",X"00",X"00", + X"02",X"22",X"00",X"00",X"02",X"66",X"00",X"00",X"02",X"F6",X"00",X"00",X"08",X"F2",X"00",X"00", + X"00",X"FF",X"00",X"00",X"00",X"22",X"00",X"00",X"04",X"12",X"00",X"00",X"02",X"41",X"00",X"00", + X"02",X"21",X"00",X"00",X"02",X"12",X"24",X"00",X"04",X"22",X"22",X"00",X"04",X"24",X"12",X"40", + X"08",X"11",X"21",X"40",X"08",X"00",X"21",X"21",X"08",X"00",X"21",X"21",X"00",X"00",X"21",X"22", + X"00",X"00",X"21",X"24",X"00",X"00",X"24",X"41",X"00",X"00",X"24",X"11",X"00",X"02",X"22",X"40", + X"00",X"02",X"22",X"40",X"00",X"22",X"21",X"24",X"00",X"42",X"21",X"22",X"00",X"42",X"24",X"42", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"08",X"00", + X"00",X"00",X"08",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"08",X"00", + X"00",X"00",X"08",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"EE", + X"00",X"00",X"80",X"11",X"00",X"00",X"EE",X"11",X"00",X"00",X"11",X"11",X"00",X"0A",X"11",X"11", + X"00",X"AA",X"11",X"11",X"00",X"AA",X"11",X"11",X"00",X"AA",X"91",X"11",X"00",X"AE",X"99",X"11", + X"00",X"EE",X"A9",X"11",X"00",X"EE",X"AA",X"11",X"00",X"EA",X"AA",X"16",X"00",X"DD",X"AA",X"99", + X"00",X"00",X"AA",X"AA",X"00",X"00",X"DA",X"AA",X"00",X"00",X"DD",X"AA",X"00",X"00",X"00",X"DD", + X"00",X"80",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"00",X"00", + X"00",X"80",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"88",X"00",X"00", + X"00",X"00",X"AA",X"00",X"00",X"88",X"AA",X"00",X"00",X"08",X"FA",X"00",X"00",X"0A",X"AA",X"00", + X"00",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"00",X"EE",X"AA",X"AA",X"00",X"11",X"1A",X"AA",X"00", + X"11",X"E1",X"AA",X"00",X"11",X"1E",X"A1",X"00",X"11",X"11",X"A1",X"00",X"11",X"11",X"11",X"00", + X"11",X"11",X"11",X"00",X"11",X"11",X"A1",X"D0",X"11",X"11",X"AA",X"D0",X"11",X"11",X"EE",X"00", + X"11",X"99",X"EE",X"00",X"16",X"9A",X"AA",X"00",X"66",X"AA",X"AA",X"00",X"99",X"AA",X"AD",X"00", + X"9A",X"AA",X"DD",X"00",X"AA",X"AA",X"00",X"00",X"AA",X"DD",X"00",X"00",X"DD",X"D0",X"00",X"00", + X"00",X"00",X"50",X"00",X"00",X"00",X"53",X"00",X"00",X"05",X"55",X"00",X"00",X"05",X"55",X"00", + X"00",X"05",X"05",X"00",X"00",X"D5",X"59",X"00",X"00",X"95",X"50",X"00",X"00",X"55",X"50",X"70", + X"00",X"11",X"51",X"D0",X"00",X"99",X"11",X"D0",X"0D",X"99",X"19",X"DD",X"0D",X"F9",X"11",X"99", + X"0D",X"F9",X"91",X"99",X"0D",X"F1",X"DD",X"9B",X"01",X"A1",X"DD",X"BD",X"01",X"A1",X"D9",X"D9", + X"00",X"AA",X"1D",X"99",X"00",X"1A",X"91",X"99",X"00",X"A1",X"99",X"9D",X"00",X"A1",X"99",X"D1", + X"00",X"11",X"99",X"10",X"00",X"11",X"91",X"00",X"00",X"19",X"DD",X"00",X"00",X"19",X"11",X"00", + X"00",X"19",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"99",X"00",X"00", + X"00",X"DD",X"00",X"00",X"88",X"00",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"42",X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"04", + X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"90",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"00", + X"00",X"00",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"99",X"00", + X"00",X"00",X"00",X"00",X"00",X"99",X"99",X"90",X"00",X"00",X"00",X"00",X"77",X"09",X"99",X"09", + X"00",X"00",X"00",X"00",X"77",X"66",X"99",X"00",X"00",X"00",X"00",X"00",X"A7",X"00",X"09",X"90", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"88",X"8A",X"88",X"88",X"88",X"8A",X"88",X"88",X"88",X"AA",X"88",X"88",X"88",X"AA",X"88",X"88", + X"88",X"A9",X"88",X"88",X"8A",X"AA",X"88",X"88",X"8A",X"9A",X"88",X"88",X"8A",X"9A",X"88",X"88", + X"81",X"9A",X"51",X"88",X"81",X"95",X"B5",X"88",X"81",X"95",X"55",X"88",X"85",X"95",X"15",X"88", + X"85",X"95",X"11",X"88",X"15",X"95",X"51",X"88",X"AA",X"95",X"AA",X"88",X"AA",X"95",X"BB",X"88", + X"11",X"95",X"AA",X"88",X"88",X"95",X"AA",X"88",X"88",X"95",X"AA",X"88",X"88",X"95",X"AA",X"88", + X"88",X"95",X"11",X"88",X"88",X"95",X"88",X"88",X"88",X"95",X"88",X"88",X"88",X"95",X"88",X"88", + X"88",X"95",X"18",X"88",X"88",X"9A",X"A8",X"88",X"88",X"55",X"18",X"88",X"88",X"55",X"88",X"88", + X"88",X"11",X"88",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"EE",X"00",X"00",X"66",X"1E",X"00",X"00",X"00",X"EE", + X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"EE", + X"00",X"00",X"50",X"EE",X"00",X"00",X"51",X"EE",X"00",X"00",X"01",X"1E",X"00",X"00",X"11",X"EE", + X"00",X"00",X"11",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00",X"11",X"EE", + X"00",X"00",X"11",X"EE",X"00",X"00",X"10",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00",X"66",X"EE", + X"00",X"00",X"66",X"EE",X"00",X"00",X"66",X"EE",X"00",X"00",X"66",X"1E",X"00",X"00",X"66",X"EE", + X"00",X"00",X"66",X"EE",X"00",X"00",X"66",X"EE",X"00",X"01",X"66",X"EE",X"00",X"00",X"66",X"EE", + X"00",X"00",X"66",X"EE",X"00",X"00",X"11",X"1E",X"00",X"00",X"01",X"EE",X"00",X"00",X"00",X"E1", + X"00",X"33",X"00",X"00",X"00",X"33",X"06",X"EE",X"00",X"00",X"66",X"1E",X"00",X"0F",X"00",X"EE", + X"00",X"FF",X"00",X"EE",X"04",X"11",X"00",X"EE",X"44",X"14",X"00",X"EE",X"44",X"44",X"00",X"EE", + X"17",X"44",X"00",X"EE",X"07",X"11",X"00",X"EE",X"00",X"11",X"00",X"1E",X"00",X"AA",X"00",X"EE", + X"00",X"A1",X"00",X"EE",X"00",X"A1",X"00",X"EE",X"00",X"D1",X"00",X"EE",X"00",X"44",X"40",X"EE", + X"00",X"44",X"44",X"EE",X"00",X"41",X"44",X"EE",X"00",X"11",X"41",X"EE",X"00",X"00",X"66",X"EE", + X"00",X"00",X"66",X"EE",X"00",X"00",X"66",X"EE",X"00",X"00",X"66",X"1E",X"00",X"00",X"66",X"EE", + X"00",X"00",X"66",X"EE",X"00",X"00",X"66",X"EE",X"00",X"01",X"66",X"EE",X"00",X"00",X"66",X"EE", + X"00",X"00",X"66",X"EE",X"00",X"00",X"11",X"1E",X"00",X"00",X"01",X"EE",X"00",X"00",X"00",X"E1", + X"00",X"33",X"00",X"00",X"00",X"33",X"06",X"EE",X"00",X"FF",X"66",X"1E",X"00",X"0F",X"00",X"EE", + X"04",X"0F",X"00",X"EE",X"44",X"FF",X"00",X"EE",X"44",X"14",X"00",X"EE",X"44",X"44",X"00",X"EE", + X"71",X"44",X"00",X"EE",X"70",X"14",X"00",X"EE",X"00",X"11",X"00",X"1E",X"00",X"A1",X"00",X"EE", + X"00",X"DD",X"00",X"EE",X"00",X"1D",X"00",X"EE",X"00",X"71",X"00",X"EE",X"00",X"74",X"40",X"EE", + X"00",X"44",X"44",X"EE",X"00",X"44",X"44",X"EE",X"00",X"44",X"41",X"EE",X"00",X"11",X"66",X"EE", + X"00",X"00",X"66",X"EE",X"00",X"00",X"66",X"EE",X"00",X"00",X"66",X"1E",X"00",X"00",X"66",X"EE", + X"00",X"00",X"66",X"EE",X"00",X"00",X"66",X"EE",X"00",X"01",X"66",X"EE",X"00",X"00",X"66",X"EE", + X"00",X"00",X"66",X"EE",X"00",X"00",X"11",X"1E",X"00",X"00",X"01",X"EE",X"00",X"00",X"00",X"E1", + X"00",X"00",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"E0",X"00", + X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00",X"EE",X"66",X"00",X"00",X"66",X"06",X"00", + X"00",X"E6",X"00",X"0D",X"00",X"00",X"0D",X"00",X"00",X"E6",X"66",X"0D",X"00",X"A6",X"6E",X"00", + X"00",X"AA",X"6E",X"00",X"C0",X"66",X"6E",X"00",X"00",X"CA",X"6E",X"00",X"00",X"AA",X"66",X"00", + X"00",X"AA",X"66",X"0D",X"00",X"0A",X"66",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"AA",X"00", + X"00",X"00",X"06",X"00",X"00",X"A0",X"AA",X"00",X"00",X"AA",X"AA",X"0D",X"00",X"AA",X"00",X"00", + X"00",X"6A",X"00",X"00",X"00",X"6A",X"0A",X"00",X"00",X"66",X"AA",X"D0",X"00",X"06",X"66",X"00", + X"00",X"06",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"0B",X"FB",X"00",X"00",X"B0",X"FB",X"00", + X"00",X"00",X"BB",X"00",X"00",X"00",X"B5",X"00",X"00",X"99",X"B5",X"00",X"00",X"FF",X"B5",X"00", + X"00",X"FF",X"55",X"00",X"00",X"FF",X"55",X"00",X"00",X"FF",X"A5",X"00",X"00",X"FB",X"A5",X"00", + X"00",X"BB",X"55",X"00",X"00",X"05",X"A5",X"00",X"00",X"60",X"50",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"0A",X"FB",X"00",X"00",X"AF",X"FB",X"00", + X"00",X"FF",X"BB",X"00",X"00",X"FF",X"B5",X"00",X"00",X"FF",X"95",X"00",X"00",X"FF",X"95",X"00", + X"00",X"FF",X"95",X"00",X"00",X"FF",X"95",X"00",X"00",X"FF",X"55",X"00",X"00",X"FB",X"55",X"00", + X"00",X"BB",X"55",X"00",X"00",X"05",X"55",X"00",X"00",X"60",X"50",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"0F",X"FB",X"00",X"00",X"FF",X"FB",X"00", + X"00",X"FF",X"BB",X"00",X"00",X"FF",X"B5",X"00",X"00",X"FF",X"B5",X"00",X"00",X"FF",X"B5",X"00", + X"00",X"FF",X"55",X"00",X"00",X"FF",X"59",X"00",X"00",X"FF",X"99",X"00",X"00",X"FF",X"90",X"00", + X"00",X"0B",X"90",X"00",X"00",X"05",X"99",X"00",X"00",X"60",X"50",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"0F",X"FB",X"00",X"00",X"FF",X"FB",X"00", + X"00",X"FF",X"BB",X"00",X"00",X"FF",X"B5",X"00",X"00",X"FF",X"B5",X"00",X"00",X"FF",X"55",X"00", + X"00",X"FF",X"55",X"00",X"00",X"FF",X"55",X"00",X"00",X"FF",X"55",X"00",X"00",X"FB",X"55",X"00", + X"00",X"BB",X"55",X"00",X"00",X"05",X"55",X"00",X"00",X"60",X"50",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"93",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"93",X"00",X"00",X"00",X"03",X"00", + X"00",X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33", + X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"33",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"90",X"03",X"00",X"00",X"00",X"39",X"00",X"00", + X"00",X"99",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"33",X"99",X"00",X"00",X"99",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"33",X"00",X"03",X"00",X"99",X"00",X"39",X"00",X"00",X"00",X"90",X"00",X"33",X"33",X"00",X"00", + X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"93", + X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00", + X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"30",X"00",X"33",X"00",X"33",X"00",X"99",X"00",X"93", + X"00",X"00",X"30",X"99",X"00",X"00",X"30",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"93",X"00", + X"00",X"00",X"93",X"30",X"00",X"00",X"99",X"30",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"99",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"03",X"00", + X"99",X"00",X"33",X"00",X"00",X"00",X"39",X"00",X"00",X"33",X"99",X"00",X"00",X"99",X"00",X"00", + X"33",X"90",X"00",X"00",X"99",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"33",X"00",X"30",X"33",X"99",X"00",X"90",X"39",X"00",X"00",X"00",X"99",X"00",X"33",X"00", + X"00",X"00",X"99",X"00",X"00",X"00",X"90",X"00",X"00",X"03",X"00",X"00",X"00",X"33",X"00",X"00", + X"00",X"99",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"B9",X"00",X"00",X"00",X"90", + X"00",X"00",X"00",X"99",X"00",X"00",X"09",X"99",X"00",X"00",X"09",X"99",X"00",X"00",X"09",X"99", + X"00",X"00",X"99",X"99",X"00",X"00",X"9B",X"90",X"00",X"00",X"99",X"90",X"00",X"00",X"99",X"90", + X"00",X"00",X"09",X"00",X"00",X"00",X"99",X"A5",X"00",X"00",X"B9",X"E5",X"00",X"00",X"99",X"05", + X"00",X"90",X"90",X"AA",X"00",X"09",X"99",X"EE",X"00",X"90",X"99",X"00",X"00",X"0B",X"99",X"90", + X"00",X"99",X"99",X"99",X"00",X"99",X"99",X"99",X"00",X"90",X"09",X"99",X"09",X"B9",X"99",X"99", + X"00",X"99",X"99",X"99",X"00",X"09",X"99",X"99",X"00",X"9B",X"99",X"99",X"00",X"99",X"99",X"99", + X"00",X"99",X"90",X"99",X"00",X"09",X"99",X"99",X"00",X"00",X"99",X"90",X"00",X"00",X"99",X"99", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0A",X"AA",X"60",X"00",X"AA",X"00",X"00", + X"66",X"FA",X"77",X"00",X"00",X"0A",X"07",X"0A",X"06",X"66",X"67",X"0A",X"00",X"07",X"77",X"A0", + X"00",X"07",X"00",X"00",X"0A",X"07",X"00",X"00",X"60",X"00",X"00",X"0A",X"00",X"70",X"00",X"AA", + X"A0",X"00",X"00",X"AA",X"0A",X"00",X"00",X"A0",X"0A",X"70",X"00",X"AA",X"0A",X"70",X"00",X"00", + X"AA",X"00",X"00",X"6A",X"00",X"70",X"00",X"0A",X"0F",X"77",X"00",X"FA",X"00",X"70",X"00",X"AA", + X"00",X"70",X"00",X"0A",X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"AA",X"00",X"00",X"07",X"0F", + X"00",X"00",X"00",X"00",X"00",X"00",X"F7",X"00",X"06",X"A0",X"77",X"00",X"00",X"00",X"00",X"00", + X"60",X"00",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0A",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"60",X"07", + X"00",X"00",X"F0",X"00",X"00",X"07",X"00",X"00",X"00",X"0F",X"00",X"00",X"0A",X"77",X"77",X"00", + X"00",X"AF",X"0A",X"00",X"00",X"00",X"A7",X"00",X"00",X"AF",X"0A",X"00",X"0A",X"77",X"76",X"00", + X"00",X"0F",X"00",X"00",X"00",X"F7",X"70",X"00",X"00",X"00",X"A0",X"00",X"00",X"00",X"60",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"07",X"00",X"00",X"0A",X"00",X"E0",X"60",X"60",X"00", + X"00",X"0A",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00", + X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"06",X"66",X"00",X"00",X"A0",X"00",X"00", + X"00",X"7A",X"6A",X"00",X"60",X"7A",X"A0",X"00",X"00",X"6F",X"67",X"00",X"00",X"FA",X"A0",X"00", + X"00",X"77",X"FA",X"00",X"00",X"A7",X"00",X"00",X"00",X"67",X"F6",X"00",X"00",X"FA",X"A0",X"00", + X"00",X"AF",X"A7",X"00",X"00",X"70",X"7A",X"00",X"00",X"07",X"76",X"00",X"00",X"00",X"00",X"00", + X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"A0",X"00",X"00",X"00",X"0A",X"00",X"00",X"00",X"07",X"00",X"00", + X"00",X"7A",X"00",X"00",X"00",X"67",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"A0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",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"A6",X"00",X"00",X"00",X"A6",X"00",X"00",X"03",X"A0",X"00",X"00",X"AA",X"A0", + X"00",X"C0",X"63",X"A5",X"00",X"C6",X"53",X"A5",X"06",X"C5",X"53",X"A5",X"00",X"C5",X"53",X"A5", + X"00",X"CC",X"F3",X"A5",X"07",X"C3",X"33",X"A5",X"02",X"D3",X"33",X"A5",X"07",X"D3",X"33",X"55", + X"02",X"DD",X"33",X"52",X"00",X"5D",X"03",X"52",X"AC",X"5D",X"33",X"52",X"AC",X"5D",X"33",X"62", + X"AA",X"1D",X"33",X"12",X"AA",X"11",X"13",X"12",X"1A",X"11",X"13",X"12",X"1A",X"11",X"13",X"12", + X"1A",X"11",X"11",X"12",X"0A",X"11",X"11",X"12",X"0A",X"11",X"11",X"12",X"00",X"01",X"11",X"12", + X"00",X"00",X"11",X"02",X"00",X"00",X"01",X"02",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"02", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"66",X"00",X"00",X"00",X"00",X"00",X"66",X"00",X"77",X"0D",X"66",X"00",X"77",X"DD",X"06",X"00", + X"A7",X"D0",X"00",X"00",X"A0",X"66",X"20",X"00",X"AC",X"56",X"72",X"00",X"AA",X"56",X"A7",X"00", + X"AA",X"53",X"27",X"00",X"AA",X"3D",X"70",X"00",X"CA",X"3D",X"00",X"00",X"CA",X"3D",X"A5",X"00", + X"5A",X"DD",X"AA",X"00",X"5A",X"DD",X"5A",X"00",X"5A",X"DD",X"5A",X"60",X"2A",X"D5",X"5A",X"60", + X"2A",X"D5",X"5A",X"60",X"2A",X"D5",X"6A",X"00",X"2A",X"55",X"6A",X"00",X"21",X"55",X"6A",X"00", + X"21",X"15",X"6A",X"00",X"21",X"15",X"1A",X"00",X"11",X"00",X"1A",X"00",X"11",X"00",X"1A",X"00", + X"11",X"00",X"0A",X"00",X"00",X"00",X"0A",X"00",X"01",X"00",X"0A",X"00",X"11",X"00",X"0A",X"00", + X"00",X"00",X"0A",X"00",X"00",X"00",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"D3",X"00",X"00",X"00",X"44",X"D0",X"00",X"00",X"AA",X"DD",X"00", + X"00",X"A0",X"AD",X"00",X"00",X"0F",X"AE",X"00",X"00",X"FF",X"0E",X"00",X"0C",X"FF",X"0E",X"00", + X"CC",X"FF",X"0C",X"CC",X"CC",X"FF",X"0C",X"EC",X"E0",X"55",X"0C",X"0E",X"00",X"05",X"0E",X"00", + X"00",X"00",X"AE",X"00",X"00",X"A0",X"EE",X"00",X"00",X"EA",X"60",X"00",X"00",X"06",X"00",X"00", + X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"CC",X"00",X"00",X"00",X"CE",X"00",X"00",X"00", + X"CE",X"00",X"00",X"00",X"CE",X"00",X"0E",X"00",X"CC",X"00",X"CC",X"00",X"0C",X"00",X"C0",X"00", + X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00", + X"E0",X"EE",X"00",X"00",X"6E",X"EE",X"EE",X"00",X"06",X"EE",X"E6",X"00",X"00",X"EE",X"16",X"00", + X"00",X"00",X"6E",X"00",X"00",X"07",X"EE",X"09",X"00",X"0A",X"00",X"09",X"00",X"00",X"00",X"99", + X"00",X"66",X"00",X"9A",X"00",X"66",X"00",X"9A",X"00",X"66",X"00",X"AA",X"00",X"16",X"00",X"AA", + X"00",X"11",X"11",X"AA",X"00",X"01",X"44",X"AA",X"00",X"06",X"74",X"AA",X"00",X"E6",X"77",X"A9", + X"00",X"00",X"99",X"44",X"00",X"E0",X"99",X"41",X"00",X"EE",X"97",X"41",X"00",X"1E",X"74",X"41", + X"01",X"7E",X"44",X"11",X"14",X"41",X"44",X"10",X"44",X"44",X"45",X"10",X"44",X"44",X"44",X"00", + X"44",X"44",X"44",X"00",X"44",X"44",X"11",X"00",X"A4",X"44",X"00",X"00",X"11",X"10",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"00",X"00", + X"E6",X"EE",X"00",X"00",X"06",X"EE",X"0E",X"00",X"00",X"EE",X"EE",X"00",X"00",X"EE",X"E1",X"00", + X"00",X"E0",X"16",X"00",X"00",X"00",X"6E",X"00",X"00",X"E0",X"E0",X"00",X"00",X"E0",X"E0",X"00", + X"00",X"66",X"E0",X"00",X"00",X"66",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"11",X"00",X"00", + X"00",X"00",X"10",X"00",X"00",X"19",X"10",X"00",X"00",X"19",X"11",X"00",X"00",X"47",X"44",X"00", + X"00",X"96",X"97",X"00",X"00",X"9E",X"99",X"00",X"01",X"EE",X"E9",X"00",X"01",X"90",X"97",X"00", + X"01",X"77",X"71",X"00",X"01",X"11",X"14",X"00",X"00",X"44",X"44",X"00",X"00",X"44",X"44",X"00", + X"00",X"44",X"44",X"00",X"00",X"44",X"41",X"00",X"00",X"14",X"11",X"00",X"00",X"01",X"00",X"00", + X"00",X"00",X"0E",X"00",X"00",X"00",X"E6",X"00",X"00",X"00",X"E1",X"00",X"00",X"0E",X"E1",X"00", + X"00",X"EE",X"E1",X"00",X"00",X"0E",X"61",X"00",X"00",X"00",X"10",X"00",X"00",X"07",X"10",X"00", + X"00",X"E7",X"00",X"00",X"00",X"1E",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"05",X"00", + X"00",X"00",X"55",X"90",X"00",X"00",X"05",X"99",X"00",X"00",X"10",X"00",X"00",X"00",X"10",X"00", + X"00",X"06",X"10",X"00",X"00",X"00",X"10",X"00",X"00",X"05",X"00",X"00",X"00",X"55",X"05",X"00", + X"00",X"55",X"55",X"00",X"00",X"55",X"50",X"AA",X"00",X"55",X"06",X"AA",X"00",X"55",X"66",X"AA", + X"00",X"53",X"6A",X"99",X"00",X"55",X"AA",X"00",X"00",X"55",X"AA",X"00",X"00",X"55",X"99",X"00", + X"00",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00", + X"00",X"50",X"00",X"00",X"00",X"50",X"00",X"00",X"05",X"00",X"00",X"00",X"05",X"00",X"00",X"00", + X"05",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"66",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"06",X"EE",X"E0",X"00",X"00",X"00",X"00",X"00",X"06",X"EE",X"E0",X"00", + X"00",X"00",X"00",X"00",X"06",X"EE",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"AA",X"EE",X"00", + X"00",X"00",X"00",X"00",X"00",X"0E",X"E6",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"6C",X"00", + X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"DD",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"DD",X"CC",X"00", + X"00",X"00",X"00",X"00",X"00",X"0D",X"CC",X"00",X"00",X"00",X"00",X"00",X"DD",X"00",X"DE",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E4",X"22", + X"00",X"00",X"00",X"00",X"00",X"00",X"E4",X"42",X"00",X"00",X"00",X"00",X"00",X"0E",X"E0",X"44", + X"00",X"00",X"00",X"00",X"00",X"E0",X"09",X"2A",X"00",X"00",X"00",X"00",X"00",X"00",X"90",X"A0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"50",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"F5",X"00",X"00",X"00",X"5F",X"00",X"00", + X"00",X"55",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"0E",X"00",X"00",X"00",X"E6",X"00",X"00",X"00",X"E1",X"00",X"00",X"0E",X"E1",X"00", + X"00",X"EE",X"E1",X"00",X"00",X"0E",X"61",X"00",X"00",X"00",X"10",X"00",X"00",X"07",X"10",X"00", + X"00",X"E7",X"00",X"00",X"00",X"1E",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"05",X"00", + X"00",X"00",X"55",X"90",X"00",X"00",X"05",X"99",X"00",X"00",X"10",X"00",X"00",X"00",X"10",X"00", + X"00",X"06",X"10",X"00",X"00",X"00",X"10",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"05",X"00", + X"00",X"55",X"55",X"00",X"00",X"55",X"50",X"AA",X"00",X"A5",X"06",X"AA",X"00",X"AA",X"66",X"AA", + X"00",X"AA",X"6A",X"99",X"00",X"1A",X"AA",X"00",X"00",X"1A",X"AA",X"00",X"00",X"1A",X"99",X"00", + X"00",X"1A",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"A5",X"00",X"00",X"00",X"50",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"05",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"05",X"00",X"00", + X"00",X"05",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"05",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"00",X"00",X"00",X"E6",X"00",X"00",X"00",X"E1", + X"00",X"00",X"0E",X"E1",X"00",X"00",X"EE",X"E1",X"00",X"00",X"0E",X"61",X"00",X"00",X"00",X"10", + X"00",X"00",X"71",X"10",X"00",X"00",X"EE",X"00",X"00",X"00",X"1E",X"00",X"00",X"00",X"01",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"00",X"00",X"CC",X"AC",X"00",X"00",X"6A",X"1A", + X"00",X"00",X"A1",X"1A",X"00",X"E5",X"CC",X"1A",X"00",X"90",X"0C",X"1A",X"00",X"99",X"DD",X"CC", + X"00",X"00",X"D0",X"DD",X"99",X"99",X"DD",X"C9",X"99",X"00",X"0D",X"90",X"99",X"99",X"DD",X"90", + X"00",X"EE",X"DD",X"00",X"00",X"00",X"CC",X"0A",X"00",X"00",X"CC",X"00",X"00",X"00",X"00",X"00", + X"88",X"08",X"88",X"88",X"07",X"77",X"77",X"88",X"07",X"77",X"FA",X"88",X"07",X"77",X"F8",X"88", + X"07",X"77",X"F8",X"88",X"07",X"77",X"F8",X"88",X"07",X"77",X"F8",X"88",X"07",X"77",X"F8",X"88", + X"07",X"88",X"F8",X"88",X"07",X"77",X"77",X"88",X"07",X"77",X"77",X"88",X"80",X"08",X"88",X"88", + X"80",X"08",X"88",X"88",X"80",X"08",X"88",X"88",X"80",X"88",X"88",X"88",X"88",X"B8",X"88",X"88", + X"88",X"B3",X"88",X"88",X"88",X"BB",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"33",X"88",X"88", + X"88",X"D3",X"88",X"88",X"88",X"33",X"88",X"88",X"88",X"D3",X"88",X"88",X"88",X"DB",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"D3",X"88",X"88",X"88",X"DD",X"88",X"88",X"88",X"D3",X"88",X"88", + X"88",X"DD",X"88",X"88",X"88",X"D3",X"88",X"88",X"88",X"DD",X"88",X"88",X"88",X"33",X"88",X"88", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"55",X"00",X"00",X"03",X"55",X"30", + X"00",X"35",X"55",X"30",X"00",X"55",X"55",X"53",X"00",X"55",X"5E",X"E5",X"00",X"55",X"E5",X"E5", + X"00",X"15",X"55",X"E5",X"05",X"55",X"55",X"5E",X"05",X"55",X"55",X"5E",X"05",X"55",X"55",X"5E", + X"05",X"55",X"55",X"5E",X"05",X"54",X"55",X"56",X"00",X"14",X"55",X"56",X"00",X"14",X"55",X"65", + X"00",X"44",X"65",X"64",X"00",X"44",X"56",X"64",X"00",X"44",X"55",X"44",X"00",X"44",X"55",X"40", + X"00",X"04",X"55",X"40",X"00",X"00",X"44",X"00",X"00",X"00",X"44",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00", + X"00",X"35",X"30",X"30",X"00",X"15",X"53",X"53",X"00",X"51",X"55",X"E5",X"0E",X"55",X"55",X"E5", + X"EE",X"55",X"55",X"E5",X"E7",X"55",X"E5",X"5E",X"7E",X"45",X"5E",X"5E",X"EE",X"45",X"55",X"5E", + X"EE",X"45",X"55",X"5E",X"E6",X"45",X"56",X"56",X"66",X"55",X"65",X"56",X"66",X"55",X"55",X"65", + X"06",X"55",X"55",X"65",X"00",X"51",X"54",X"64",X"00",X"11",X"44",X"44",X"00",X"44",X"40",X"40", + X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"00",X"00", + X"00",X"EE",X"00",X"00",X"00",X"E7",X"60",X"00",X"00",X"7E",X"60",X"00",X"00",X"EE",X"55",X"00", + X"00",X"EE",X"44",X"00",X"00",X"E6",X"60",X"00",X"00",X"66",X"60",X"00",X"00",X"66",X"00",X"00", + X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00", + X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"60",X"60",X"00",X"00",X"06",X"A6",X"00",X"00",X"00",X"00",X"00", + X"00",X"0A",X"66",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"60",X"00", + X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"60",X"00",X"00",X"06",X"60",X"00", + X"00",X"60",X"06",X"00",X"00",X"6A",X"60",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"60",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"66",X"06",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"A0",X"00",X"00",X"00",X"00",X"00", + X"00",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"06",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"60",X"00",X"00",X"00", + X"60",X"60",X"00",X"00",X"06",X"6A",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"66",X"00", + X"00",X"60",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"77",X"00",X"00", + X"00",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"07",X"00",X"00",X"00",X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"E1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1E",X"11",X"00",X"00",X"00",X"00",X"00",X"00", + X"11",X"66",X"00",X"00",X"00",X"00",X"00",X"00",X"1E",X"EE",X"00",X"E6",X"00",X"00",X"00",X"00", + X"01",X"E1",X"0E",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"6E",X"00",X"00",X"00",X"00",X"00", + X"00",X"4E",X"00",X"E0",X"00",X"00",X"00",X"00",X"00",X"4E",X"0E",X"0E",X"00",X"00",X"00",X"00", + X"A0",X"EE",X"0E",X"6E",X"00",X"00",X"00",X"00",X"AA",X"EA",X"A0",X"AA",X"00",X"00",X"00",X"00", + X"AA",X"AA",X"AC",X"AC",X"00",X"00",X"00",X"00",X"0C",X"C9",X"9A",X"00",X"00",X"00",X"00",X"00", + X"00",X"AA",X"AA",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"50",X"00",X"00",X"00",X"50",X"55", + X"00",X"00",X"50",X"55",X"00",X"00",X"50",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"90",X"00",X"D0",X"00",X"00",X"00",X"09",X"00",X"99",X"00", + X"9D",X"00",X"99",X"00",X"99",X"00",X"9F",X"00",X"00",X"00",X"9F",X"00",X"00",X"B0",X"9F",X"00", + X"00",X"9B",X"9B",X"00",X"00",X"D9",X"FB",X"00",X"00",X"DC",X"FC",X"00",X"00",X"DC",X"BB",X"00", + X"00",X"9B",X"C9",X"00",X"99",X"99",X"B9",X"90",X"BF",X"F9",X"FF",X"99",X"99",X"9F",X"99",X"99", + X"DD",X"9B",X"DD",X"DD",X"99",X"9B",X"D9",X"99",X"00",X"99",X"DD",X"00",X"00",X"FB",X"DD",X"00", + X"00",X"0B",X"9C",X"00",X"00",X"B9",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"99",X"00",X"00", + X"00",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09", + X"00",X"00",X"00",X"0D",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"D0",X"00",X"00",X"00",X"00", + X"99",X"00",X"00",X"00",X"09",X"00",X"09",X"00",X"09",X"90",X"09",X"00",X"00",X"90",X"9B",X"00", + X"00",X"F9",X"DD",X"00",X"00",X"B9",X"CC",X"00",X"00",X"BB",X"C9",X"00",X"00",X"9B",X"90",X"00", + X"00",X"99",X"F9",X"00",X"00",X"99",X"FF",X"00",X"00",X"09",X"99",X"99",X"00",X"9D",X"B9",X"00", + X"00",X"DD",X"BF",X"90",X"00",X"DD",X"BC",X"90",X"00",X"9D",X"99",X"90",X"00",X"D0",X"09",X"90", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"01",X"10",X"66",X"00", + X"01",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"60",X"10",X"00",X"00",X"00",X"01",X"00", + X"00",X"00",X"00",X"0F",X"00",X"00",X"07",X"00",X"00",X"70",X"70",X"00",X"00",X"07",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00", + X"60",X"07",X"00",X"10",X"60",X"70",X"70",X"10",X"60",X"00",X"07",X"10",X"60",X"00",X"00",X"70", + X"67",X"00",X"00",X"70",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"02",X"00",X"00", + X"00",X"02",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"20",X"00",X"00", + X"00",X"20",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"BB",X"B0",X"00", + X"0B",X"00",X"BB",X"00",X"B0",X"00",X"B0",X"BB",X"00",X"00",X"B0",X"00",X"00",X"00",X"B0",X"00", + X"00",X"00",X"B0",X"00",X"00",X"00",X"B0",X"00",X"20",X"00",X"B0",X"22",X"02",X"20",X"22",X"00", + X"00",X"22",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"20",X"00",X"00", + X"00",X"20",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"02",X"00",X"00", + X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"08",X"8E",X"00",X"00",X"08",X"66",X"00",X"00",X"08",X"EE",X"00",X"00",X"08",X"6E", + X"00",X"00",X"08",X"6E",X"00",X"00",X"08",X"66",X"00",X"00",X"88",X"66",X"00",X"00",X"88",X"61", + X"00",X"00",X"88",X"62",X"00",X"00",X"88",X"12",X"00",X"00",X"80",X"22",X"00",X"00",X"80",X"22", + X"00",X"00",X"00",X"42",X"00",X"00",X"00",X"24",X"00",X"00",X"00",X"42",X"00",X"00",X"00",X"44", + X"00",X"00",X"0E",X"01",X"00",X"00",X"E1",X"80",X"00",X"0E",X"11",X"88",X"00",X"AA",X"11",X"18", + X"00",X"AA",X"12",X"12",X"00",X"AA",X"22",X"22",X"00",X"AA",X"22",X"22",X"00",X"EE",X"44",X"22", + X"00",X"EE",X"99",X"C2",X"00",X"AA",X"A9",X"62",X"00",X"AA",X"AA",X"66",X"00",X"DA",X"AA",X"99", + X"00",X"DD",X"AA",X"A9",X"00",X"00",X"AA",X"AA",X"00",X"00",X"DD",X"AA",X"00",X"00",X"0D",X"DD", + X"00",X"00",X"08",X"8E",X"00",X"00",X"08",X"6E",X"00",X"00",X"08",X"66",X"00",X"00",X"08",X"26", + X"00",X"00",X"08",X"41",X"00",X"00",X"08",X"1F",X"00",X"00",X"88",X"FF",X"00",X"00",X"88",X"F8", + X"00",X"00",X"88",X"F0",X"00",X"00",X"88",X"F0",X"00",X"00",X"80",X"24",X"00",X"00",X"80",X"22", + X"00",X"00",X"00",X"82",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22", + X"00",X"00",X"0E",X"42",X"00",X"00",X"E1",X"84",X"00",X"0E",X"11",X"88",X"00",X"AA",X"11",X"18", + X"00",X"AA",X"17",X"44",X"00",X"AA",X"12",X"22",X"00",X"AA",X"12",X"22",X"00",X"EE",X"12",X"14", + X"00",X"EE",X"99",X"14",X"00",X"AA",X"A9",X"64",X"00",X"AA",X"AA",X"66",X"00",X"DA",X"AA",X"99", + X"00",X"DD",X"AA",X"A9",X"00",X"00",X"AA",X"AA",X"00",X"00",X"DD",X"AA",X"00",X"00",X"0D",X"DD", + X"00",X"00",X"08",X"80",X"00",X"00",X"08",X"06",X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"4F",X"00",X"00",X"00",X"40", + X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"44",X"00",X"00",X"00",X"12",X"00",X"00",X"00",X"22", + X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22", + X"00",X"00",X"08",X"42",X"00",X"00",X"E1",X"11",X"00",X"0E",X"11",X"88",X"00",X"AA",X"11",X"88", + X"00",X"AA",X"11",X"88",X"00",X"AA",X"11",X"88",X"00",X"AA",X"88",X"88",X"00",X"EE",X"12",X"28", + X"00",X"EE",X"99",X"22",X"00",X"AA",X"A9",X"62",X"00",X"AA",X"AA",X"64",X"00",X"DA",X"AA",X"99", + X"00",X"DD",X"AA",X"A9",X"00",X"00",X"AA",X"AA",X"00",X"00",X"DD",X"AA",X"00",X"00",X"0D",X"DD", + X"00",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"26",X"00",X"00",X"00", + X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"42",X"00",X"00",X"00",X"12",X"00",X"00",X"00", + X"42",X"00",X"00",X"00",X"42",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"00", + X"41",X"00",X"00",X"00",X"41",X"00",X"00",X"00",X"12",X"00",X"00",X"00",X"22",X"00",X"00",X"00", + X"11",X"00",X"00",X"00",X"48",X"E0",X"00",X"00",X"22",X"11",X"00",X"00",X"22",X"11",X"A0",X"00", + X"22",X"11",X"AA",X"00",X"24",X"11",X"AA",X"00",X"44",X"19",X"AA",X"00",X"4C",X"99",X"EA",X"00", + X"22",X"9A",X"EE",X"00",X"22",X"AA",X"EE",X"00",X"62",X"AA",X"AE",X"00",X"99",X"AA",X"DD",X"00", + X"AA",X"AA",X"00",X"00",X"AA",X"AD",X"00",X"00",X"AA",X"DD",X"00",X"00",X"DD",X"00",X"00",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"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"C0",X"00", + X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"D0",X"DD", + X"0C",X"00",X"CC",X"C0",X"00",X"C0",X"C0",X"00",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0D",X"C0",X"00",X"DD",X"00",X"00",X"00",X"CC",X"00",X"0C",X"0D",X"00",X"00",X"9C",X"0C",X"00", + X"00",X"C0",X"DC",X"00",X"00",X"CC",X"CC",X"DD",X"00",X"C0",X"C0",X"CC",X"00",X"0C",X"CD",X"00", + X"C0",X"0C",X"0D",X"0C",X"00",X"0C",X"CC",X"CD",X"00",X"00",X"0C",X"C0",X"00",X"00",X"0C",X"0D", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"90",X"00",X"0C",X"00", + X"00",X"00",X"00",X"00",X"DD",X"00",X"00",X"00",X"0C",X"09",X"00",X"C0",X"00",X"00",X"00",X"00", + X"00",X"D0",X"90",X"00",X"00",X"0C",X"00",X"00",X"D0",X"00",X"00",X"C0",X"D0",X"C0",X"0C",X"00", + X"CC",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"D0",X"00",X"0D",X"00", + X"0D",X"00",X"0D",X"09",X"CD",X"0D",X"0C",X"00",X"C0",X"CD",X"00",X"00",X"0C",X"C0",X"0C",X"00", + X"C0",X"00",X"00",X"0C",X"D0",X"00",X"00",X"00",X"00",X"D0",X"90",X"D0",X"00",X"00",X"00",X"CD", + X"00",X"00",X"00",X"0C",X"C0",X"00",X"D0",X"00",X"00",X"00",X"0D",X"0D",X"00",X"00",X"00",X"CC", + X"00",X"00",X"C0",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"CD", + X"00",X"D0",X"00",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0D",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"00",X"00",X"90",X"90",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0C",X"CC",X"00",X"D0",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00", + X"0D",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"DC",X"00",X"00",X"00",X"0C",X"00",X"00",X"00", + X"C0",X"0D",X"00",X"00",X"00",X"DC",X"00",X"00",X"90",X"0D",X"00",X"00",X"00",X"C0",X"00",X"00", + X"00",X"00",X"00",X"00",X"DD",X"00",X"00",X"00",X"CC",X"0D",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"CD",X"00",X"00",X"00",X"D0",X"00", + X"00",X"00",X"00",X"00",X"CD",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"C0",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"90",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"06",X"00",X"00",X"00",X"60",X"66",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"26",X"00",X"00", + X"06",X"26",X"00",X"00",X"02",X"26",X"00",X"00",X"2F",X"22",X"00",X"00",X"20",X"22",X"00",X"00", + X"40",X"42",X"00",X"00",X"12",X"22",X"00",X"00",X"22",X"24",X"00",X"00",X"22",X"11",X"00",X"00", + X"22",X"22",X"00",X"00",X"22",X"22",X"04",X"00",X"22",X"28",X"42",X"00",X"42",X"42",X"22",X"00", + X"11",X"42",X"00",X"00",X"88",X"42",X"00",X"00",X"80",X"42",X"00",X"00",X"22",X"44",X"24",X"00", + X"22",X"04",X"22",X"00",X"82",X"01",X"22",X"22",X"24",X"00",X"22",X"22",X"40",X"00",X"22",X"04", + X"00",X"00",X"22",X"00",X"00",X"00",X"24",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"22",X"00", + X"00",X"00",X"22",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"06",X"66",X"00",X"00",X"06",X"66",X"00",X"00",X"00",X"26",X"00",X"00", + X"06",X"26",X"00",X"00",X"02",X"26",X"00",X"00",X"2F",X"22",X"00",X"00",X"20",X"22",X"00",X"00", + X"40",X"42",X"00",X"00",X"12",X"22",X"00",X"00",X"22",X"24",X"00",X"00",X"22",X"11",X"00",X"00", + X"22",X"22",X"00",X"00",X"22",X"22",X"22",X"00",X"22",X"28",X"22",X"00",X"42",X"48",X"24",X"00", + X"81",X"28",X"22",X"00",X"88",X"22",X"11",X"00",X"80",X"42",X"00",X"00",X"00",X"42",X"40",X"00", + X"88",X"44",X"24",X"00",X"88",X"21",X"22",X"22",X"88",X"00",X"22",X"22",X"00",X"00",X"22",X"02", + X"00",X"00",X"24",X"22",X"00",X"00",X"20",X"22",X"00",X"00",X"40",X"11",X"00",X"00",X"22",X"00", + X"00",X"00",X"42",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"06",X"00",X"00",X"00",X"60",X"66",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"26",X"00",X"00", + X"06",X"26",X"00",X"00",X"02",X"26",X"00",X"00",X"2F",X"22",X"00",X"00",X"20",X"22",X"00",X"00", + X"40",X"42",X"00",X"00",X"12",X"22",X"00",X"00",X"22",X"24",X"00",X"00",X"22",X"11",X"00",X"00", + X"22",X"22",X"00",X"00",X"22",X"22",X"44",X"00",X"22",X"28",X"22",X"00",X"42",X"40",X"22",X"22", + X"11",X"00",X"22",X"42",X"88",X"00",X"22",X"02",X"80",X"00",X"42",X"42",X"00",X"00",X"42",X"22", + X"00",X"00",X"14",X"00",X"00",X"02",X"14",X"00",X"00",X"22",X"01",X"02",X"00",X"22",X"20",X"02", + X"00",X"22",X"20",X"02",X"00",X"12",X"22",X"20",X"00",X"02",X"22",X"20",X"00",X"02",X"24",X"40", + X"00",X"00",X"08",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"08",X"00", + X"00",X"00",X"08",X"00",X"00",X"00",X"08",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"88",X"00", + X"00",X"00",X"88",X"00",X"00",X"00",X"88",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"11", + X"00",X"00",X"0E",X"11",X"00",X"00",X"E1",X"11",X"00",X"0E",X"11",X"11",X"00",X"AA",X"11",X"11", + X"00",X"AA",X"11",X"11",X"00",X"AA",X"11",X"11",X"00",X"AA",X"11",X"11",X"00",X"EE",X"11",X"11", + X"00",X"EE",X"99",X"11",X"00",X"AA",X"A9",X"61",X"00",X"AA",X"AA",X"66",X"00",X"DA",X"AA",X"99", + X"00",X"DD",X"AA",X"A9",X"00",X"00",X"AA",X"AA",X"00",X"00",X"DD",X"AA",X"00",X"00",X"0D",X"DD", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"00",X"00", + X"00",X"8A",X"00",X"00",X"00",X"8A",X"AA",X"00",X"00",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"00", + X"00",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"00",X"00",X"AA",X"A0",X"00",X"EE",X"AA",X"00",X"00", + X"11",X"1A",X"00",X"00",X"11",X"EE",X"1D",X"00",X"11",X"11",X"11",X"00",X"11",X"11",X"11",X"00", + X"11",X"11",X"11",X"00",X"11",X"11",X"11",X"00",X"11",X"19",X"AA",X"00",X"11",X"99",X"EA",X"00", + X"11",X"9A",X"EE",X"00",X"11",X"AA",X"EE",X"00",X"61",X"AA",X"AE",X"00",X"99",X"AA",X"DD",X"00", + X"AA",X"AA",X"00",X"00",X"AA",X"AD",X"00",X"00",X"AA",X"DD",X"00",X"00",X"DD",X"00",X"00",X"00", + X"00",X"00",X"50",X"00",X"00",X"00",X"50",X"00",X"00",X"50",X"55",X"00",X"00",X"55",X"59",X"00", + X"00",X"05",X"99",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"35",X"00",X"00",X"50",X"51",X"00", + X"0D",X"15",X"11",X"00",X"DD",X"11",X"19",X"00",X"99",X"99",X"11",X"00",X"99",X"DD",X"99",X"D0", + X"99",X"99",X"11",X"BD",X"99",X"99",X"71",X"DD",X"DD",X"11",X"91",X"9D",X"11",X"AA",X"91",X"9D", + X"01",X"AA",X"91",X"D0",X"00",X"AA",X"D9",X"D0",X"00",X"AA",X"1D",X"10",X"00",X"11",X"11",X"00", + X"00",X"19",X"1D",X"00",X"00",X"99",X"1D",X"00",X"00",X"99",X"DD",X"00",X"00",X"99",X"11",X"00", + X"00",X"9D",X"00",X"00",X"00",X"9D",X"00",X"00",X"00",X"9D",X"00",X"00",X"00",X"9D",X"00",X"00", + X"00",X"D1",X"00",X"00",X"88",X"08",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"00",X"00",X"00",X"00",X"00",X"00",X"92",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"22", + X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"42",X"00",X"00",X"00",X"00",X"00",X"99",X"99",X"00", + X"00",X"00",X"00",X"00",X"00",X"99",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"99",X"00", + X"00",X"00",X"00",X"00",X"00",X"99",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"90",X"00", + X"00",X"00",X"00",X"00",X"00",X"99",X"99",X"00",X"00",X"00",X"00",X"00",X"7E",X"99",X"99",X"00", + X"00",X"00",X"00",X"00",X"77",X"66",X"99",X"96",X"00",X"00",X"00",X"00",X"77",X"00",X"99",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"00", + X"00",X"00",X"00",X"00",X"00",X"99",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"88",X"A8",X"88",X"88",X"88",X"A8",X"88",X"88",X"88",X"AA",X"88",X"88",X"88",X"BA",X"88",X"88", + X"88",X"AB",X"88",X"88",X"88",X"AA",X"88",X"88",X"A8",X"AB",X"88",X"88",X"AA",X"AA",X"88",X"88", + X"AA",X"A5",X"88",X"88",X"AB",X"AB",X"18",X"88",X"55",X"55",X"55",X"88",X"55",X"5B",X"5A",X"88", + X"55",X"55",X"AA",X"88",X"51",X"5B",X"11",X"88",X"A5",X"55",X"A1",X"88",X"11",X"5B",X"A8",X"88", + X"88",X"55",X"BA",X"88",X"88",X"5B",X"AB",X"88",X"88",X"5B",X"AA",X"88",X"88",X"5B",X"AA",X"88", + X"88",X"5B",X"88",X"88",X"88",X"5B",X"88",X"88",X"88",X"5B",X"88",X"88",X"88",X"5B",X"88",X"88", + X"81",X"5B",X"88",X"88",X"8A",X"5B",X"88",X"88",X"81",X"5B",X"88",X"88",X"88",X"51",X"88",X"88", + X"88",X"18",X"88",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"06",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"EE", + X"00",X"06",X"00",X"EE",X"00",X"66",X"00",X"EE",X"00",X"60",X"00",X"EE",X"00",X"60",X"01",X"EE", + X"00",X"60",X"15",X"EE",X"00",X"60",X"55",X"EE",X"00",X"60",X"00",X"EE",X"00",X"60",X"11",X"EE", + X"00",X"60",X"11",X"EE",X"00",X"60",X"01",X"EE",X"00",X"60",X"00",X"EE",X"00",X"60",X"11",X"EE", + X"00",X"60",X"00",X"EE",X"00",X"60",X"40",X"EE",X"00",X"60",X"44",X"EE",X"00",X"64",X"44",X"EE", + X"00",X"60",X"40",X"EE",X"00",X"66",X"46",X"EE",X"00",X"66",X"06",X"EE",X"00",X"66",X"66",X"EE", + X"00",X"66",X"66",X"EE",X"00",X"66",X"66",X"EE",X"00",X"11",X"66",X"EE",X"00",X"00",X"66",X"EE", + X"00",X"00",X"66",X"EE",X"00",X"00",X"66",X"E1",X"00",X"00",X"11",X"11",X"00",X"00",X"01",X"10", + X"00",X"11",X"06",X"00",X"03",X"31",X"66",X"00",X"10",X"31",X"00",X"E0",X"1F",X"F1",X"00",X"EE", + X"14",X"14",X"00",X"EE",X"44",X"14",X"00",X"EE",X"44",X"44",X"00",X"EE",X"44",X"44",X"00",X"EE", + X"11",X"44",X"00",X"EE",X"00",X"44",X"00",X"EE",X"00",X"11",X"00",X"EE",X"00",X"A1",X"00",X"EE", + X"00",X"71",X"00",X"EE",X"04",X"74",X"00",X"EE",X"01",X"44",X"00",X"EE",X"00",X"44",X"00",X"EE", + X"00",X"41",X"00",X"EE",X"00",X"10",X"40",X"EE",X"00",X"60",X"44",X"EE",X"00",X"64",X"44",X"EE", + X"00",X"60",X"40",X"EE",X"00",X"66",X"46",X"EE",X"00",X"66",X"06",X"EE",X"00",X"66",X"66",X"EE", + X"00",X"66",X"66",X"EE",X"00",X"66",X"66",X"EE",X"00",X"11",X"66",X"EE",X"00",X"00",X"66",X"EE", + X"00",X"00",X"66",X"EE",X"00",X"00",X"66",X"E1",X"00",X"00",X"11",X"11",X"00",X"00",X"01",X"10", + X"00",X"11",X"06",X"00",X"0F",X"31",X"66",X"00",X"1F",X"F1",X"00",X"E0",X"1F",X"F1",X"00",X"EE", + X"14",X"F4",X"00",X"EE",X"44",X"14",X"00",X"EE",X"44",X"44",X"00",X"EE",X"44",X"44",X"00",X"EE", + X"01",X"44",X"00",X"EE",X"00",X"44",X"00",X"EE",X"00",X"44",X"00",X"EE",X"00",X"44",X"00",X"EE", + X"00",X"14",X"00",X"EE",X"00",X"14",X"00",X"EE",X"07",X"44",X"00",X"EE",X"47",X"44",X"00",X"EE", + X"14",X"41",X"00",X"EE",X"01",X"40",X"40",X"EE",X"00",X"10",X"44",X"EE",X"00",X"14",X"44",X"EE", + X"00",X"60",X"40",X"EE",X"00",X"66",X"46",X"EE",X"00",X"66",X"06",X"EE",X"00",X"66",X"66",X"EE", + X"00",X"66",X"66",X"EE",X"00",X"66",X"66",X"EE",X"00",X"11",X"66",X"EE",X"00",X"00",X"66",X"EE", + X"00",X"00",X"66",X"EE",X"00",X"00",X"66",X"E1",X"00",X"00",X"11",X"11",X"00",X"00",X"01",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"EE",X"EE",X"00",X"00",X"EE",X"DE",X"00",X"00",X"60",X"6E",X"00", + X"00",X"0E",X"6E",X"00",X"00",X"66",X"6E",X"00",X"00",X"E6",X"6E",X"00",X"00",X"60",X"EE",X"00", + X"00",X"A0",X"EE",X"00",X"00",X"AA",X"E0",X"00",X"00",X"6A",X"00",X"00",X"00",X"66",X"00",X"00", + X"00",X"00",X"E0",X"00",X"00",X"A0",X"66",X"00",X"0C",X"AA",X"66",X"00",X"00",X"AA",X"A0",X"00", + X"00",X"0D",X"6E",X"00",X"00",X"0A",X"AE",X"00",X"C0",X"AA",X"AE",X"00",X"00",X"00",X"AE",X"00", + X"00",X"00",X"A6",X"00",X"00",X"A0",X"A6",X"00",X"00",X"A0",X"06",X"00",X"00",X"AA",X"66",X"00", + X"00",X"66",X"00",X"D0",X"00",X"00",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0F",X"06",X"00",X"00",X"99",X"B0",X"00",X"00",X"09",X"50",X"00", + X"00",X"09",X"55",X"00",X"00",X"99",X"55",X"00",X"00",X"9F",X"55",X"00",X"00",X"FF",X"55",X"00", + X"00",X"FF",X"55",X"00",X"00",X"FF",X"55",X"00",X"00",X"BB",X"55",X"00",X"00",X"B5",X"55",X"00", + X"00",X"55",X"55",X"00",X"00",X"55",X"50",X"00",X"00",X"05",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0F",X"06",X"00",X"00",X"FF",X"B0",X"00",X"00",X"FF",X"50",X"00", + X"00",X"FF",X"55",X"00",X"00",X"FF",X"55",X"00",X"00",X"F9",X"55",X"00",X"00",X"F9",X"55",X"00", + X"00",X"F9",X"55",X"00",X"00",X"F9",X"55",X"00",X"00",X"BB",X"55",X"00",X"00",X"B5",X"55",X"00", + X"00",X"55",X"5A",X"00",X"00",X"55",X"A0",X"00",X"00",X"05",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0F",X"06",X"00",X"00",X"FA",X"B0",X"00",X"00",X"FF",X"55",X"00", + X"00",X"FA",X"55",X"00",X"00",X"FA",X"55",X"00",X"00",X"FF",X"55",X"00",X"00",X"FF",X"55",X"00", + X"00",X"FF",X"55",X"00",X"00",X"FF",X"99",X"00",X"00",X"FB",X"00",X"00",X"00",X"BB",X"00",X"00", + X"00",X"B5",X"09",X"00",X"00",X"55",X"90",X"00",X"00",X"05",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"0F",X"06",X"00",X"00",X"FF",X"B0",X"00",X"00",X"FF",X"50",X"00", + X"00",X"FF",X"55",X"00",X"00",X"FF",X"55",X"00",X"00",X"FF",X"55",X"00",X"00",X"FF",X"55",X"00", + X"00",X"FF",X"55",X"00",X"00",X"FF",X"55",X"00",X"00",X"BB",X"55",X"00",X"00",X"B5",X"55",X"00", + X"00",X"55",X"55",X"00",X"00",X"55",X"50",X"00",X"00",X"05",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"93", + X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"33", + X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"93",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00", + X"00",X"00",X"93",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"09",X"00",X"00",X"93",X"00",X"33", + X"00",X"93",X"00",X"99",X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"00",X"00",X"00", + X"03",X"00",X"00",X"00",X"39",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00", + X"33",X"00",X"39",X"00",X"99",X"00",X"90",X"00",X"00",X"33",X"00",X"00",X"33",X"99",X"00",X"00", + X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"30",X"00",X"30", + X"00",X"33",X"00",X"93",X"00",X"93",X"00",X"09",X"00",X"99",X"33",X"00",X"03",X"00",X"99",X"00", + X"09",X"00",X"09",X"00",X"00",X"00",X"09",X"00",X"00",X"33",X"00",X"00",X"00",X"93",X"00",X"33", + X"00",X"93",X"00",X"99",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00", + X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"30",X"00",X"00",X"33",X"90",X"00",X"00",X"99",X"00",X"33",X"00",X"00",X"00",X"33",X"00", + X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00", + X"33",X"90",X"00",X"00",X"39",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"90",X"00",X"00",X"09",X"99",X"00",X"00",X"99",X"99", + X"00",X"00",X"09",X"99",X"00",X"00",X"99",X"90",X"00",X"00",X"B9",X"90",X"00",X"00",X"99",X"00", + X"00",X"00",X"09",X"07",X"00",X"00",X"99",X"07",X"00",X"00",X"99",X"07",X"00",X"00",X"09",X"75", + X"00",X"00",X"99",X"7A",X"00",X"00",X"9B",X"7E",X"00",X"00",X"99",X"70",X"00",X"00",X"99",X"70", + X"00",X"09",X"99",X"A0",X"00",X"00",X"99",X"AA",X"00",X"99",X"99",X"EE",X"09",X"90",X"B9",X"07", + X"00",X"99",X"99",X"07",X"09",X"90",X"99",X"07",X"90",X"99",X"99",X"05",X"09",X"99",X"99",X"00", + X"99",X"9B",X"99",X"90",X"00",X"99",X"99",X"90",X"09",X"90",X"B9",X"99",X"00",X"99",X"99",X"99", + X"00",X"99",X"99",X"99",X"00",X"09",X"99",X"99",X"00",X"99",X"99",X"99",X"00",X"00",X"09",X"99", + X"F0",X"0A",X"0A",X"06",X"00",X"0A",X"0A",X"00",X"00",X"00",X"AA",X"00",X"00",X"AA",X"AF",X"0A", + X"00",X"A6",X"AA",X"A0",X"00",X"A0",X"00",X"00",X"60",X"66",X"00",X"00",X"00",X"07",X"77",X"00", + X"0A",X"77",X"66",X"A0",X"00",X"70",X"00",X"00",X"0A",X"00",X"00",X"A0",X"0A",X"F0",X"07",X"A0", + X"00",X"00",X"67",X"A0",X"A0",X"00",X"00",X"AA",X"A0",X"00",X"60",X"AA",X"A0",X"00",X"00",X"A0", + X"A0",X"00",X"00",X"A6",X"00",X"00",X"00",X"00",X"A6",X"00",X"76",X"00",X"00",X"00",X"00",X"00", + X"00",X"0F",X"70",X"00",X"0A",X"00",X"70",X"00",X"AA",X"66",X"00",X"00",X"A0",X"77",X"00",X"00", + X"00",X"77",X"00",X"00",X"AA",X"07",X"00",X"60",X"A6",X"67",X"A0",X"00",X"A0",X"AA",X"AF",X"00", + X"AA",X"6A",X"AA",X"00",X"00",X"0A",X"00",X"00",X"00",X"6A",X"60",X"00",X"00",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"07",X"00", + X"00",X"00",X"00",X"00",X"00",X"A6",X"00",X"00",X"00",X"00",X"00",X"00",X"76",X"66",X"00",X"00", + X"00",X"00",X"00",X"00",X"06",X"06",X"6F",X"00",X"00",X"00",X"F0",X"00",X"0A",X"6A",X"60",X"00", + X"00",X"00",X"A0",X"00",X"00",X"7A",X"00",X"0E",X"00",X"0F",X"0A",X"00",X"00",X"FF",X"A6",X"00", + X"00",X"FF",X"00",X"00",X"06",X"0F",X"77",X"07",X"00",X"FF",X"00",X"00",X"00",X"F0",X"A0",X"00", + X"00",X"7F",X"00",X"00",X"00",X"7A",X"00",X"00",X"A0",X"00",X"00",X"0E",X"00",X"07",X"00",X"00", + X"00",X"0A",X"00",X"00",X"00",X"06",X"66",X"00",X"00",X"00",X"00",X"00",X"00",X"66",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"06",X"00",X"00",X"00",X"70",X"00",X"00",X"0A",X"06",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"6A",X"00",X"00",X"00",X"AF",X"00",X"00",X"00",X"77",X"00",X"00",X"00",X"7F",X"70",X"00", + X"00",X"FF",X"AA",X"00",X"00",X"7F",X"07",X"00",X"00",X"77",X"00",X"00",X"00",X"77",X"70",X"00", + X"60",X"A7",X"60",X"00",X"00",X"AF",X"00",X"00",X"60",X"66",X"A0",X"00",X"00",X"77",X"00",X"00", + X"00",X"0A",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"0A",X"00",X"00",X"00",X"A0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"07",X"00",X"00",X"00",X"7A",X"00",X"00",X"00",X"AF",X"00",X"00", + X"00",X"FF",X"00",X"00",X"00",X"AF",X"00",X"00",X"00",X"7A",X"00",X"00",X"00",X"67",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"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"06",X"00",X"00",X"00",X"36",X"66",X"00",X"00",X"60",X"06",X"00",X"00",X"00",X"3A", + X"06",X"00",X"A0",X"35",X"66",X"66",X"A0",X"33",X"00",X"55",X"AA",X"53",X"00",X"3D",X"AA",X"53", + X"72",X"CD",X"AA",X"53",X"27",X"CD",X"AA",X"53",X"AA",X"CC",X"AA",X"53",X"27",X"3C",X"AA",X"55", + X"77",X"3C",X"AA",X"35",X"00",X"3C",X"AA",X"52",X"CA",X"3C",X"AA",X"52",X"DA",X"3C",X"AA",X"22", + X"DA",X"3C",X"AA",X"22",X"AA",X"31",X"AA",X"22",X"DA",X"31",X"AA",X"26",X"DA",X"33",X"A1",X"26", + X"DA",X"30",X"A1",X"26",X"DA",X"30",X"A1",X"26",X"D1",X"30",X"A1",X"1E",X"D0",X"30",X"A0",X"0E", + X"D0",X"30",X"10",X"0E",X"D0",X"30",X"10",X"0E",X"D0",X"00",X"00",X"0E",X"D0",X"00",X"00",X"0E", + X"D0",X"00",X"00",X"0E",X"0D",X"00",X"00",X"0E",X"D0",X"00",X"00",X"0E",X"00",X"00",X"00",X"0E", + X"60",X"06",X"00",X"00",X"06",X"0D",X"00",X"00",X"00",X"DD",X"60",X"00",X"70",X"0D",X"66",X"00", + X"60",X"0D",X"66",X"00",X"0C",X"DD",X"06",X"00",X"0C",X"D0",X"06",X"00",X"AA",X"D0",X"06",X"00", + X"AC",X"D0",X"06",X"00",X"AD",X"D3",X"06",X"00",X"C5",X"D3",X"66",X"00",X"C5",X"D3",X"66",X"00", + X"C5",X"D3",X"A5",X"00",X"C5",X"D3",X"A5",X"00",X"C5",X"D5",X"AA",X"00",X"C5",X"D5",X"5A",X"00", + X"C1",X"D5",X"5A",X"00",X"C1",X"D5",X"5A",X"00",X"C1",X"D5",X"6A",X"00",X"C1",X"55",X"1A",X"00", + X"C1",X"55",X"1A",X"00",X"C1",X"55",X"1A",X"00",X"1C",X"55",X"1A",X"00",X"C1",X"55",X"0A",X"00", + X"C1",X"05",X"0A",X"00",X"01",X"05",X"0A",X"00",X"11",X"05",X"0A",X"00",X"10",X"05",X"0A",X"00", + X"00",X"05",X"0A",X"00",X"00",X"05",X"0A",X"00",X"00",X"05",X"00",X"00",X"00",X"05",X"0A",X"00", + X"00",X"3E",X"00",X"00",X"00",X"4E",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"AA",X"D0",X"00", + X"00",X"FF",X"D0",X"00",X"00",X"FF",X"D0",X"00",X"00",X"F9",X"DD",X"00",X"CC",X"90",X"ED",X"00", + X"CD",X"90",X"ED",X"00",X"ED",X"F9",X"CE",X"C0",X"00",X"FF",X"CE",X"C0",X"00",X"55",X"C6",X"C0", + X"00",X"55",X"C6",X"C0",X"00",X"00",X"CC",X"EC",X"0C",X"AA",X"EC",X"0C",X"CC",X"EE",X"EC",X"0C", + X"CC",X"00",X"0C",X"0C",X"CE",X"00",X"0C",X"0C",X"E0",X"00",X"0C",X"0E",X"00",X"00",X"0C",X"00", + X"00",X"00",X"EC",X"00",X"00",X"0C",X"CC",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00", + X"E0",X"00",X"00",X"00",X"CE",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00", + X"00",X"EE",X"EE",X"00",X"E0",X"EE",X"E6",X"00",X"00",X"E6",X"60",X"00",X"06",X"00",X"00",X"09", + X"0E",X"06",X"00",X"99",X"0E",X"06",X"00",X"99",X"0E",X"06",X"00",X"A9",X"06",X"06",X"00",X"A9", + X"06",X"66",X"00",X"A9",X"01",X"66",X"00",X"A9",X"00",X"66",X"00",X"A9",X"00",X"66",X"00",X"A9", + X"00",X"11",X"11",X"A9",X"00",X"61",X"44",X"A9",X"00",X"66",X"44",X"A9",X"00",X"6E",X"44",X"99", + X"00",X"0E",X"74",X"10",X"00",X"00",X"74",X"10",X"00",X"E0",X"44",X"00",X"0E",X"1E",X"44",X"00", + X"E1",X"71",X"44",X"00",X"44",X"44",X"45",X"00",X"44",X"44",X"54",X"00",X"44",X"44",X"44",X"00", + X"44",X"44",X"44",X"00",X"44",X"44",X"11",X"00",X"44",X"11",X"00",X"00",X"11",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"00",X"00",X"00",X"EE",X"00",X"00", + X"00",X"EE",X"6E",X"00",X"EE",X"EE",X"E6",X"00",X"60",X"EE",X"66",X"00",X"00",X"E0",X"60",X"00", + X"00",X"00",X"E0",X"00",X"00",X"0A",X"E0",X"00",X"00",X"07",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"66",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"66",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"A6",X"00",X"00",X"00",X"A6",X"10",X"00",X"00",X"6E",X"11",X"00", + X"11",X"EE",X"44",X"00",X"14",X"00",X"74",X"00",X"14",X"06",X"17",X"00",X"44",X"66",X"74",X"00", + X"44",X"77",X"44",X"00",X"14",X"11",X"44",X"00",X"11",X"44",X"44",X"00",X"01",X"44",X"44",X"00", + X"00",X"44",X"11",X"00",X"00",X"4A",X"10",X"00",X"00",X"AA",X"00",X"00",X"00",X"1A",X"00",X"00", + X"00",X"00",X"10",X"00",X"00",X"0E",X"10",X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00", + X"00",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"E0",X"09",X"00", + X"00",X"E0",X"09",X"00",X"00",X"EE",X"99",X"00",X"00",X"EE",X"00",X"00",X"00",X"11",X"50",X"00", + X"00",X"00",X"55",X"00",X"00",X"11",X"55",X"A0",X"0A",X"16",X"53",X"00",X"0A",X"66",X"55",X"00", + X"09",X"60",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"50",X"55",X"00",X"00",X"55",X"50",X"00", + X"00",X"55",X"06",X"00",X"00",X"55",X"6A",X"A0",X"00",X"53",X"6A",X"AA",X"00",X"35",X"AA",X"99", + X"00",X"55",X"AA",X"00",X"0A",X"55",X"AA",X"00",X"0A",X"55",X"99",X"00",X"0A",X"50",X"00",X"00", + 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"50",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"50",X"00",X"00",X"00",X"00",X"00",X"00", + X"05",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"50",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"66",X"EE",X"E0",X"00", + X"00",X"00",X"00",X"00",X"66",X"A7",X"EE",X"00",X"00",X"00",X"00",X"00",X"60",X"77",X"6C",X"00", + X"00",X"00",X"00",X"00",X"00",X"77",X"6C",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"E7",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"DC",X"CC",X"00",X"00",X"00",X"00",X"00",X"00",X"DD",X"CC",X"00", + X"00",X"00",X"00",X"00",X"DD",X"DD",X"EE",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E2",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"4B",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"24",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"22",X"22",X"00",X"00",X"00",X"00",X"00",X"E0",X"42",X"44", + X"00",X"00",X"00",X"00",X"00",X"0E",X"04",X"00",X"00",X"00",X"00",X"00",X"0E",X"00",X"20",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"50",X"00",X"00",X"00",X"55",X"00",X"00", + X"00",X"F5",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"10",X"00",X"00",X"0E",X"10",X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00", + X"00",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"E0",X"00",X"00",X"00",X"E0",X"09",X"00", + X"00",X"E0",X"09",X"00",X"00",X"EE",X"99",X"00",X"00",X"EE",X"00",X"00",X"00",X"11",X"50",X"00", + X"00",X"00",X"55",X"00",X"00",X"11",X"55",X"A0",X"0A",X"16",X"53",X"00",X"0A",X"66",X"55",X"00", + X"09",X"60",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"50",X"55",X"00",X"00",X"55",X"50",X"00", + X"00",X"35",X"06",X"00",X"05",X"53",X"6A",X"A0",X"5A",X"55",X"6A",X"AA",X"AA",X"55",X"AA",X"99", + X"A1",X"55",X"AA",X"00",X"14",X"55",X"AA",X"00",X"14",X"55",X"99",X"00",X"14",X"55",X"00",X"00", + X"14",X"55",X"00",X"00",X"11",X"55",X"00",X"00",X"01",X"50",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"05",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"5F",X"00",X"00", + X"00",X"5F",X"00",X"00",X"00",X"5F",X"00",X"00",X"00",X"5F",X"00",X"00",X"00",X"F5",X"00",X"00", + X"00",X"55",X"00",X"00",X"00",X"50",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"50",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"0E",X"10",X"00",X"00",X"EE",X"00", + X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"E0",X"00", + X"00",X"00",X"E7",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"00", + X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"C0",X"00",X"00",X"16",X"CC", + X"00",X"00",X"16",X"AC",X"00",X"ED",X"00",X"CC",X"00",X"50",X"C0",X"C9",X"00",X"EE",X"CC",X"C9", + X"99",X"05",X"DC",X"90",X"99",X"EE",X"DD",X"9A",X"99",X"50",X"0D",X"00",X"99",X"EE",X"DD",X"A0", + X"09",X"DD",X"DD",X"00",X"00",X"00",X"CC",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00", + X"88",X"88",X"88",X"88",X"77",X"77",X"77",X"88",X"78",X"8F",X"77",X"88",X"78",X"8F",X"77",X"88", + X"78",X"8F",X"77",X"88",X"78",X"8F",X"77",X"88",X"78",X"8F",X"77",X"88",X"78",X"8F",X"77",X"88", + X"78",X"8F",X"88",X"88",X"77",X"77",X"77",X"88",X"77",X"77",X"77",X"88",X"00",X"88",X"88",X"88", + X"00",X"78",X"88",X"88",X"00",X"70",X"88",X"88",X"88",X"78",X"88",X"88",X"88",X"F8",X"88",X"88", + X"88",X"33",X"88",X"88",X"88",X"BB",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"33",X"88",X"88", + X"88",X"33",X"88",X"88",X"88",X"33",X"88",X"88",X"88",X"33",X"88",X"88",X"88",X"BB",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"33",X"88",X"88",X"88",X"33",X"88",X"88",X"88",X"D3",X"88",X"88", + X"88",X"3D",X"88",X"88",X"88",X"D3",X"88",X"88",X"88",X"33",X"88",X"88",X"88",X"33",X"88",X"88", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"5F",X"00",X"00",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"EE",X"55",X"00",X"00",X"33",X"55",X"00", + X"00",X"55",X"55",X"00",X"00",X"55",X"55",X"00",X"05",X"55",X"EE",X"00",X"05",X"55",X"55",X"30", + X"55",X"55",X"55",X"50",X"51",X"55",X"55",X"50",X"51",X"55",X"55",X"5A",X"11",X"55",X"55",X"5F", + X"41",X"55",X"55",X"5F",X"51",X"55",X"55",X"5A",X"54",X"55",X"55",X"50",X"55",X"55",X"55",X"40", + X"05",X"55",X"55",X"40",X"05",X"55",X"66",X"00",X"00",X"45",X"55",X"00",X"00",X"44",X"55",X"00", + X"00",X"44",X"55",X"00",X"00",X"66",X"44",X"00",X"00",X"00",X"44",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"33",X"00",X"00", + X"05",X"55",X"03",X"00",X"05",X"55",X"35",X"00",X"51",X"55",X"55",X"00",X"E5",X"15",X"55",X"30", + X"7E",X"15",X"55",X"50",X"EE",X"55",X"55",X"50",X"EE",X"55",X"EE",X"5A",X"EF",X"55",X"55",X"5F", + X"65",X"55",X"55",X"5F",X"66",X"54",X"66",X"5A",X"66",X"45",X"55",X"50",X"66",X"15",X"55",X"50", + X"66",X"15",X"55",X"40",X"51",X"45",X"45",X"00",X"05",X"55",X"44",X"00",X"05",X"55",X"04",X"00", + X"00",X"44",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"0F",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"E5",X"00",X"00", + X"00",X"7E",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"EF",X"55",X"00", + X"00",X"65",X"44",X"00",X"00",X"66",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"66",X"00",X"00", + X"00",X"65",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"05",X"00",X"00",X"00",X"04",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"07",X"00",X"00",X"00",X"70",X"00",X"00", + X"00",X"70",X"00",X"00",X"00",X"07",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"66",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"06",X"60",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"00",X"00",X"00",X"70",X"00",X"00", + X"00",X"70",X"00",X"00",X"00",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"06",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"00", + X"00",X"66",X"60",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"07",X"60",X"00",X"00",X"70",X"60",X"00", + X"00",X"70",X"00",X"00",X"60",X"07",X"60",X"00",X"06",X"00",X"60",X"00",X"00",X"00",X"06",X"00", + X"00",X"00",X"06",X"00",X"00",X"06",X"06",X"00",X"00",X"06",X"60",X"00",X"66",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"06",X"00",X"00",X"00",X"60",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"77",X"00",X"00", + X"00",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"0E",X"00",X"00",X"00",X"0E",X"00",X"00",X"00",X"07",X"00",X"00", + X"00",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"00",X"00",X"00",X"77",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"0E",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"E1",X"00",X"00",X"00",X"00",X"00",X"00", + X"EE",X"E1",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"0E",X"00",X"00",X"00",X"00",X"00", + X"E7",X"00",X"EE",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"E6",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"E0",X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"EE",X"00",X"00",X"00",X"00",X"00", + X"00",X"10",X"06",X"00",X"00",X"00",X"00",X"00",X"0E",X"66",X"E6",X"00",X"00",X"00",X"00",X"00", + X"E0",X"46",X"66",X"00",X"00",X"00",X"00",X"00",X"AA",X"AA",X"AA",X"AA",X"00",X"00",X"00",X"00", + X"AA",X"C9",X"AA",X"C0",X"00",X"00",X"00",X"00",X"CA",X"99",X"AA",X"00",X"00",X"00",X"00",X"00", + X"00",X"AA",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"CC",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"5F",X"00",X"00",X"00",X"05",X"50", + X"00",X"00",X"05",X"55",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"D0",X"00",X"99",X"00", + X"90",X"00",X"F9",X"00",X"D9",X"09",X"9B",X"00",X"9D",X"00",X"BB",X"00",X"99",X"09",X"9B",X"00", + X"00",X"00",X"B9",X"00",X"00",X"09",X"B9",X"00",X"00",X"90",X"99",X"00",X"00",X"C9",X"90",X"00", + X"00",X"C9",X"90",X"00",X"99",X"CF",X"99",X"00",X"BB",X"B9",X"BB",X"00",X"99",X"9F",X"99",X"99", + X"DD",X"BB",X"DD",X"C9",X"99",X"0C",X"99",X"99",X"00",X"BB",X"D0",X"00",X"00",X"B9",X"9D",X"00", + X"00",X"B9",X"99",X"00",X"00",X"99",X"9D",X"00",X"00",X"90",X"0C",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"00",X"00", + X"00",X"9D",X"00",X"00",X"00",X"9D",X"00",X"00",X"00",X"9D",X"00",X"00",X"00",X"9D",X"00",X"00", + X"90",X"9D",X"09",X"00",X"F9",X"9B",X"9D",X"00",X"99",X"9D",X"DD",X"00",X"99",X"99",X"D0",X"00", + X"09",X"99",X"D9",X"00",X"00",X"BB",X"9B",X"00",X"00",X"0B",X"00",X"00",X"00",X"CB",X"90",X"00", + X"00",X"99",X"99",X"00",X"00",X"BF",X"C9",X"00",X"00",X"D9",X"FF",X"00",X"00",X"DD",X"99",X"00", + X"00",X"DD",X"F9",X"90",X"00",X"9D",X"BB",X"00",X"00",X"9D",X"BB",X"00",X"00",X"9D",X"99",X"90", + X"00",X"9C",X"99",X"00",X"00",X"9B",X"09",X"90",X"00",X"9D",X"00",X"00",X"00",X"9B",X"00",X"00", + X"00",X"9D",X"00",X"00",X"00",X"9D",X"00",X"00",X"00",X"9C",X"00",X"00",X"00",X"99",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"11",X"00",X"00",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"10",X"11",X"00",X"00",X"70",X"00",X"00",X"00",X"07",X"06",X"00",X"00", + X"07",X"60",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"00",X"00",X"00",X"70",X"00", + X"00",X"00",X"70",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"06",X"70",X"00",X"00",X"60",X"07",X"00",X"00",X"60",X"00",X"00",X"00",X"00",X"77",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"70",X"00",X"00",X"0F",X"07",X"00", + X"77",X"00",X"00",X"00",X"00",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"02",X"F0",X"00",X"00",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F0", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"BB",X"00",X"00", + X"BB",X"00",X"BB",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"B0",X"00",X"0F",X"00",X"0B", + X"00",X"0F",X"00",X"02",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"00",X"22",X"00",X"22",X"00", + X"00",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"E8",X"00",X"00",X"02",X"E0",X"00",X"00",X"02",X"EE",X"00",X"00",X"04",X"66", + X"00",X"00",X"04",X"66",X"00",X"00",X"04",X"66",X"00",X"00",X"00",X"66",X"00",X"00",X"80",X"16", + X"00",X"00",X"80",X"61",X"00",X"00",X"80",X"62",X"00",X"00",X"80",X"12",X"00",X"00",X"00",X"22", + X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"0C",X"42",X"00",X"00",X"22",X"24", + X"00",X"00",X"2C",X"44",X"00",X"00",X"2C",X"01",X"00",X"EA",X"2C",X"04",X"00",X"EE",X"2C",X"82", + X"00",X"AA",X"24",X"22",X"0A",X"AA",X"41",X"22",X"AA",X"AE",X"22",X"22",X"DA",X"EE",X"44",X"24", + X"0D",X"AA",X"11",X"44",X"00",X"AA",X"99",X"41",X"00",X"AA",X"A9",X"66",X"00",X"AA",X"AA",X"66", + X"00",X"DA",X"AA",X"99",X"00",X"DD",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"00",X"00",X"DD",X"DD", + X"00",X"00",X"20",X"E8",X"00",X"00",X"22",X"EE",X"00",X"00",X"22",X"44",X"00",X"00",X"42",X"44", + X"00",X"00",X"44",X"44",X"00",X"00",X"44",X"42",X"00",X"00",X"84",X"F2",X"00",X"00",X"84",X"82", + X"00",X"00",X"84",X"02",X"00",X"00",X"82",X"52",X"00",X"00",X"84",X"22",X"00",X"00",X"08",X"22", + X"00",X"00",X"08",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22", + X"00",X"00",X"EE",X"22",X"00",X"00",X"11",X"22",X"00",X"EA",X"C1",X"42",X"00",X"EE",X"C1",X"11", + X"00",X"AA",X"77",X"24",X"0A",X"AA",X"22",X"24",X"AA",X"AE",X"1C",X"22",X"DA",X"EE",X"22",X"22", + X"0D",X"AA",X"0C",X"22",X"00",X"AA",X"99",X"44",X"00",X"AA",X"A9",X"66",X"00",X"AA",X"AA",X"66", + X"00",X"DA",X"AA",X"99",X"00",X"DD",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"00",X"00",X"DD",X"DD", + X"00",X"00",X"88",X"00",X"00",X"00",X"88",X"60",X"00",X"00",X"88",X"06",X"00",X"00",X"88",X"64", + X"00",X"00",X"08",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"08",X"F2",X"00",X"00",X"00",X"02", + X"00",X"00",X"88",X"02",X"00",X"00",X"88",X"22",X"00",X"00",X"88",X"22",X"00",X"00",X"80",X"22", + X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22", + X"00",X"00",X"08",X"24",X"00",X"00",X"11",X"11",X"00",X"EA",X"81",X"88",X"00",X"EE",X"88",X"08", + X"00",X"AA",X"42",X"80",X"0A",X"AA",X"42",X"88",X"AA",X"AE",X"42",X"88",X"DA",X"EE",X"42",X"82", + X"0D",X"AA",X"44",X"22",X"00",X"AA",X"99",X"28",X"00",X"AA",X"A9",X"44",X"00",X"AA",X"AA",X"66", + X"00",X"DA",X"AA",X"99",X"00",X"DD",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"00",X"00",X"DD",X"DD", + X"06",X"00",X"00",X"00",X"60",X"00",X"00",X"00",X"66",X"00",X"00",X"00",X"66",X"00",X"00",X"00", + X"66",X"00",X"00",X"00",X"26",X"00",X"00",X"00",X"26",X"00",X"00",X"00",X"26",X"00",X"00",X"00", + X"26",X"00",X"00",X"00",X"21",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"00", + X"22",X"00",X"00",X"00",X"42",X"00",X"00",X"00",X"42",X"00",X"00",X"00",X"24",X"00",X"00",X"00", + X"88",X"00",X"00",X"00",X"81",X"90",X"00",X"00",X"81",X"9A",X"00",X"00",X"20",X"9A",X"00",X"00", + X"28",X"9E",X"AA",X"00",X"28",X"9A",X"AA",X"00",X"28",X"9E",X"AA",X"00",X"28",X"AA",X"AA",X"00", + X"28",X"AA",X"EE",X"00",X"88",X"AA",X"ED",X"00",X"19",X"AA",X"D0",X"00",X"99",X"AA",X"00",X"00", + X"AA",X"AA",X"00",X"00",X"AA",X"DD",X"00",X"00",X"AA",X"00",X"00",X"00",X"DD",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0C",X"0C",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00", + X"0D",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"DD",X"0D", + X"00",X"00",X"C0",X"CD",X"00",X"00",X"00",X"C0",X"00",X"D0",X"00",X"00",X"00",X"0C",X"00",X"00", + X"00",X"0C",X"0D",X"0D",X"00",X"C0",X"DC",X"CD",X"C0",X"C0",X"0C",X"C0",X"00",X"00",X"C0",X"00", + X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"0D",X"0D",X"D0",X"00",X"CC",X"00",X"D0",X"00",X"00", + X"00",X"00",X"D0",X"CD",X"00",X"CD",X"00",X"0C",X"00",X"C0",X"D0",X"00",X"00",X"0C",X"DD",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"0C",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"C0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"0D",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0D",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"0D",X"00",X"00",X"00",X"00",X"00",X"00",X"D0",X"C0",X"00",X"00", + X"DD",X"00",X"00",X"00",X"C0",X"00",X"0D",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"D0",X"D0",X"00",X"00",X"D0",X"D0",X"0C",X"00", + X"00",X"00",X"0D",X"00",X"00",X"0C",X"C0",X"C0",X"C0",X"00",X"0C",X"0C",X"00",X"C0",X"00",X"00", + X"C0",X"00",X"90",X"CD",X"00",X"DC",X"00",X"0C",X"90",X"00",X"D0",X"00",X"00",X"00",X"0D",X"0D", + X"00",X"00",X"C0",X"CC",X"C0",X"00",X"0C",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"CD",X"00",X"C0",X"00",X"C0",X"00",X"D0",X"00",X"00",X"00",X"00",X"C0",X"00", + X"90",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"C0",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"00", + X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0D",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"DD",X"D0",X"0D",X"00",X"0D",X"DD",X"0C",X"00",X"CD",X"CD",X"0C",X"00",X"C0",X"CD",X"00",X"00", + X"CD",X"C0",X"00",X"00",X"90",X"CD",X"90",X"00",X"D0",X"C0",X"00",X"00",X"0C",X"CD",X"00",X"00", + X"00",X"0D",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"DC",X"00",X"0C",X"00",X"0D",X"00",X"00",X"00",X"00",X"00",X"D0",X"00", + X"00",X"00",X"C0",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"00", + X"00",X"00",X"00",X"00",X"00",X"0C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0D",X"00",X"00", + X"00",X"00",X"00",X"00",X"0C",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"60",X"08",X"00",X"00",X"66",X"00",X"00",X"00",X"62",X"60",X"00",X"00", + X"22",X"60",X"00",X"00",X"62",X"66",X"00",X"00",X"F2",X"64",X"00",X"00",X"02",X"62",X"00",X"00", + X"02",X"24",X"00",X"00",X"22",X"24",X"00",X"00",X"22",X"22",X"00",X"00",X"22",X"24",X"00",X"00", + X"22",X"20",X"42",X"00",X"22",X"40",X"22",X"00",X"22",X"80",X"20",X"00",X"21",X"80",X"22",X"00", + X"11",X"02",X"00",X"00",X"80",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"22",X"22",X"00",X"00", + X"24",X"22",X"40",X"00",X"40",X"42",X"24",X"00",X"00",X"44",X"22",X"22",X"00",X"84",X"22",X"22", + X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00", + X"00",X"00",X"22",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"60",X"00",X"00",X"00",X"00",X"08",X"00",X"00",X"66",X"00",X"00",X"00",X"62",X"60",X"00",X"00", + X"22",X"60",X"00",X"00",X"62",X"66",X"00",X"00",X"F2",X"64",X"00",X"00",X"02",X"62",X"00",X"00", + X"02",X"24",X"00",X"00",X"22",X"24",X"00",X"00",X"22",X"22",X"00",X"00",X"22",X"24",X"00",X"00", + X"22",X"20",X"00",X"00",X"22",X"40",X"20",X"00",X"22",X"80",X"22",X"00",X"21",X"80",X"22",X"00", + X"11",X"02",X"11",X"00",X"80",X"22",X"00",X"00",X"00",X"22",X"00",X"00",X"00",X"22",X"00",X"00", + X"88",X"22",X"00",X"00",X"80",X"22",X"40",X"00",X"02",X"42",X"40",X"00",X"22",X"82",X"22",X"00", + X"22",X"04",X"42",X"00",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00", + X"00",X"00",X"24",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"60",X"08",X"00",X"00",X"66",X"00",X"00",X"00",X"62",X"60",X"00",X"00", + X"22",X"60",X"00",X"00",X"62",X"66",X"00",X"00",X"F2",X"64",X"00",X"00",X"02",X"62",X"00",X"00", + X"02",X"24",X"00",X"00",X"22",X"24",X"00",X"00",X"22",X"22",X"00",X"00",X"22",X"24",X"00",X"00", + X"22",X"21",X"00",X"00",X"22",X"12",X"00",X"00",X"22",X"42",X"44",X"00",X"24",X"44",X"22",X"22", + X"11",X"41",X"22",X"42",X"80",X"21",X"22",X"04",X"00",X"20",X"22",X"00",X"00",X"20",X"22",X"00", + X"00",X"20",X"22",X"00",X"00",X"20",X"42",X"00",X"00",X"40",X"14",X"00",X"00",X"00",X"11",X"20", + X"00",X"00",X"00",X"20",X"00",X"00",X"00",X"42",X"00",X"00",X"00",X"02",X"00",X"00",X"00",X"02", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"00", + X"00",X"00",X"80",X"00",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"08",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"EE",X"00",X"00",X"00",X"11", + X"00",X"00",X"EE",X"11",X"00",X"00",X"11",X"11",X"00",X"EA",X"11",X"11",X"00",X"EE",X"1D",X"11", + X"00",X"AA",X"1D",X"11",X"0A",X"AA",X"1D",X"11",X"AA",X"AE",X"1D",X"11",X"DA",X"EE",X"0D",X"11", + X"0D",X"AA",X"1D",X"11",X"00",X"AA",X"99",X"11",X"00",X"AA",X"A9",X"66",X"00",X"AA",X"AA",X"66", + X"00",X"DA",X"AA",X"99",X"00",X"DD",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"00",X"00",X"DD",X"DD", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"AA",X"00",X"00", + X"00",X"AA",X"00",X"00",X"00",X"AA",X"00",X"00",X"00",X"AA",X"AA",X"00",X"00",X"AA",X"AA",X"00", + X"08",X"AA",X"A0",X"00",X"08",X"AA",X"A0",X"00",X"08",X"AA",X"00",X"00",X"EE",X"AA",X"00",X"00", + X"11",X"AA",X"00",X"00",X"11",X"1A",X"D0",X"00",X"11",X"91",X"1D",X"00",X"11",X"9A",X"11",X"00", + X"11",X"9E",X"11",X"00",X"11",X"9A",X"1A",X"00",X"11",X"9E",X"AA",X"00",X"11",X"AA",X"AA",X"00", + X"11",X"AA",X"EE",X"00",X"11",X"AA",X"ED",X"00",X"19",X"AA",X"D0",X"00",X"99",X"AA",X"00",X"00", + X"AA",X"AA",X"00",X"00",X"AA",X"DD",X"00",X"00",X"AA",X"00",X"00",X"00",X"DD",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"50",X"00",X"00",X"00",X"90",X"00", + X"00",X"55",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"11",X"00",X"DD",X"00",X"99",X"00", + X"99",X"55",X"11",X"00",X"DD",X"11",X"99",X"00",X"99",X"91",X"11",X"00",X"99",X"99",X"71",X"00", + X"9A",X"DD",X"D1",X"00",X"9A",X"99",X"D1",X"00",X"91",X"11",X"D9",X"00",X"D1",X"FF",X"D9",X"00", + X"D1",X"AA",X"99",X"00",X"19",X"AF",X"9B",X"00",X"01",X"AA",X"BD",X"00",X"11",X"11",X"D9",X"00", + X"1A",X"99",X"99",X"00",X"1A",X"99",X"99",X"00",X"1A",X"9D",X"DD",X"00",X"1A",X"D1",X"11",X"00", + X"11",X"11",X"00",X"00",X"00",X"1D",X"00",X"00",X"00",X"D1",X"00",X"00",X"00",X"10",X"00",X"00", + X"00",X"00",X"00",X"00",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"00",X"00",X"00",X"00",X"00",X"00",X"20",X"20",X"00",X"00",X"00",X"00",X"00",X"00",X"29",X"22", + X"00",X"00",X"00",X"00",X"00",X"99",X"90",X"24",X"00",X"00",X"00",X"00",X"00",X"99",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"99",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"09",X"00", + X"00",X"00",X"00",X"00",X"00",X"99",X"90",X"00",X"00",X"00",X"00",X"00",X"EE",X"99",X"99",X"00", + X"00",X"00",X"00",X"00",X"7E",X"60",X"99",X"66",X"00",X"00",X"00",X"00",X"EE",X"00",X"99",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"99",X"00", + X"00",X"00",X"00",X"00",X"00",X"90",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"00",X"00", + X"A8",X"88",X"88",X"88",X"AA",X"88",X"88",X"88",X"AA",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"55",X"A8",X"88",X"88",X"85",X"A8",X"88",X"88",X"85",X"A8",X"88",X"88",X"88",X"A8",X"88",X"88", + X"A1",X"51",X"88",X"88",X"51",X"51",X"88",X"88",X"B5",X"51",X"18",X"88",X"5B",X"51",X"A1",X"88", + X"55",X"51",X"AA",X"88",X"55",X"51",X"AA",X"88",X"15",X"51",X"1A",X"88",X"55",X"51",X"81",X"88", + X"11",X"51",X"88",X"88",X"88",X"51",X"88",X"88",X"88",X"51",X"A8",X"88",X"88",X"51",X"A8",X"88", + X"88",X"51",X"88",X"88",X"81",X"5A",X"88",X"88",X"81",X"5A",X"88",X"88",X"1A",X"5A",X"88",X"88", + X"AA",X"5A",X"88",X"88",X"AA",X"5A",X"88",X"88",X"11",X"11",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"66",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00",X"00", + X"00",X"66",X"00",X"E0",X"00",X"00",X"00",X"1E",X"00",X"00",X"00",X"EE",X"00",X"00",X"11",X"EE", + X"00",X"00",X"51",X"EE",X"00",X"00",X"51",X"EE",X"00",X"00",X"51",X"EE",X"00",X"00",X"11",X"EE", + X"00",X"01",X"11",X"1E",X"00",X"00",X"11",X"EE",X"00",X"00",X"01",X"EE",X"00",X"00",X"10",X"EE", + X"00",X"00",X"01",X"EE",X"00",X"00",X"40",X"EE",X"00",X"44",X"40",X"EE",X"00",X"44",X"46",X"1E", + X"00",X"40",X"46",X"EE",X"00",X"06",X"46",X"EE",X"00",X"66",X"06",X"EE",X"00",X"66",X"66",X"EE", + X"00",X"66",X"66",X"EE",X"00",X"66",X"66",X"EE",X"00",X"66",X"66",X"1E",X"00",X"11",X"66",X"E1", + X"00",X"00",X"66",X"11",X"00",X"00",X"66",X"10",X"00",X"00",X"66",X"00",X"00",X"00",X"11",X"00", + X"31",X"00",X"66",X"00",X"33",X"00",X"00",X"00",X"0F",X"00",X"00",X"00",X"F4",X"06",X"00",X"00", + X"44",X"46",X"00",X"E0",X"44",X"41",X"00",X"1E",X"44",X"44",X"00",X"EE",X"44",X"44",X"00",X"EE", + X"11",X"44",X"00",X"EE",X"00",X"44",X"00",X"EE",X"00",X"44",X"00",X"EE",X"70",X"44",X"00",X"EE", + X"70",X"44",X"00",X"1E",X"41",X"44",X"00",X"EE",X"44",X"41",X"00",X"EE",X"14",X"11",X"00",X"EE", + X"01",X"00",X"00",X"EE",X"00",X"00",X"40",X"EE",X"00",X"44",X"40",X"EE",X"00",X"44",X"46",X"1E", + X"00",X"40",X"46",X"EE",X"00",X"06",X"46",X"EE",X"00",X"66",X"06",X"EE",X"00",X"66",X"66",X"EE", + X"00",X"66",X"66",X"EE",X"00",X"66",X"66",X"EE",X"00",X"66",X"66",X"1E",X"00",X"11",X"66",X"E1", + X"00",X"00",X"66",X"11",X"00",X"00",X"66",X"10",X"00",X"00",X"66",X"00",X"00",X"00",X"11",X"00", + X"31",X"00",X"66",X"00",X"F3",X"00",X"00",X"00",X"0F",X"00",X"00",X"00",X"04",X"06",X"00",X"00", + X"44",X"46",X"00",X"E0",X"44",X"41",X"00",X"1E",X"44",X"44",X"00",X"EE",X"44",X"44",X"00",X"EE", + X"11",X"44",X"00",X"EE",X"00",X"44",X"00",X"EE",X"00",X"44",X"00",X"EE",X"00",X"44",X"00",X"EE", + X"00",X"44",X"00",X"1E",X"01",X"44",X"00",X"EE",X"1A",X"41",X"00",X"EE",X"44",X"11",X"00",X"EE", + X"44",X"00",X"00",X"EE",X"11",X"00",X"40",X"EE",X"01",X"44",X"40",X"EE",X"00",X"44",X"46",X"1E", + X"00",X"40",X"46",X"EE",X"00",X"06",X"46",X"EE",X"00",X"66",X"06",X"EE",X"00",X"66",X"66",X"EE", + X"00",X"66",X"66",X"EE",X"00",X"66",X"66",X"EE",X"00",X"66",X"66",X"1E",X"00",X"11",X"66",X"E1", + X"00",X"00",X"66",X"11",X"00",X"00",X"66",X"10",X"00",X"00",X"66",X"00",X"00",X"00",X"11",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"00",X"00", + X"00",X"EE",X"00",X"00",X"00",X"EE",X"00",X"00",X"C0",X"EE",X"00",X"00",X"00",X"66",X"EE",X"00", + X"00",X"06",X"0E",X"00",X"06",X"66",X"EE",X"00",X"06",X"60",X"E0",X"00",X"66",X"66",X"EE",X"00", + X"6A",X"E6",X"EE",X"00",X"66",X"AA",X"0E",X"00",X"6A",X"00",X"00",X"00",X"66",X"00",X"00",X"D0", + X"6C",X"00",X"00",X"00",X"6A",X"00",X"0E",X"00",X"6A",X"00",X"66",X"00",X"6A",X"A0",X"66",X"00", + X"66",X"AA",X"EA",X"00",X"00",X"AA",X"AA",X"00",X"00",X"AA",X"A0",X"00",X"00",X"AA",X"66",X"00", + X"00",X"00",X"A6",X"00",X"00",X"00",X"66",X"00",X"00",X"0A",X"00",X"00",X"00",X"AA",X"00",X"00", + X"00",X"66",X"00",X"00",X"00",X"00",X"00",X"00",X"C0",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00", + X"00",X"00",X"60",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00", + X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"50",X"00",X"00",X"FF",X"50",X"00", + X"00",X"FF",X"50",X"00",X"00",X"FB",X"50",X"00",X"00",X"BB",X"50",X"00",X"00",X"5A",X"00",X"00", + X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"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"00",X"00",X"00",X"0A",X"00",X"00",X"00",X"06",X"00", + X"00",X"00",X"60",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00", + X"00",X"FF",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"9B",X"50",X"00",X"00",X"B0",X"50",X"00", + X"00",X"00",X"50",X"00",X"00",X"90",X"50",X"00",X"00",X"99",X"50",X"00",X"00",X"55",X"00",X"00", + X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00", + X"AA",X"00",X"00",X"00",X"A2",X"00",X"00",X"00",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"06",X"00", + X"00",X"00",X"60",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"AA",X"00",X"00", + X"00",X"FF",X"00",X"00",X"00",X"FF",X"50",X"00",X"00",X"AF",X"50",X"00",X"00",X"FF",X"50",X"00", + X"00",X"FF",X"50",X"00",X"00",X"FB",X"90",X"00",X"00",X"BB",X"90",X"00",X"00",X"55",X"90",X"00", + X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"06",X"00", + X"00",X"00",X"60",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00", + X"00",X"FF",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"FF",X"50",X"00",X"00",X"FF",X"50",X"00", + X"00",X"FF",X"50",X"00",X"00",X"FB",X"50",X"00",X"00",X"BB",X"50",X"00",X"00",X"55",X"00",X"00", + X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"55",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"04",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33", + X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"30", + X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"30",X"00",X"00",X"00",X"93",X"00",X"00",X"00",X"09",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"93",X"00",X"00",X"00",X"93",X"00",X"00",X"00",X"09",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"93",X"00",X"00",X"00",X"09",X"33", + X"00",X"33",X"00",X"93",X"00",X"99",X"00",X"09",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00", + X"39",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"39",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00", + X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00", + X"39",X"00",X"00",X"00",X"90",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"33",X"99",X"00",X"00", + X"00",X"00",X"30",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"33",X"00",X"33",X"00",X"99",X"00",X"99",X"30",X"00",X"00",X"09",X"30",X"00", + X"33",X"00",X"33",X"00",X"99",X"00",X"99",X"00",X"09",X"00",X"00",X"00",X"09",X"00",X"00",X"33", + X"00",X"33",X"00",X"99",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00", + X"00",X"00",X"99",X"00",X"00",X"00",X"09",X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"03",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00", + X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"33",X"00",X"00",X"00",X"39",X"00",X"33",X"00",X"99",X"00",X"33",X"00",X"00",X"00",X"99",X"00", + X"00",X"00",X"90",X"00",X"00",X"00",X"00",X"00",X"00",X"33",X"00",X"00",X"00",X"99",X"00",X"00", + X"33",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"99",X"00",X"00",X"99",X"99",X"00",X"00",X"90",X"99",X"00",X"00",X"99",X"99", + X"00",X"00",X"B9",X"00",X"00",X"00",X"99",X"07",X"00",X"00",X"09",X"75",X"00",X"00",X"99",X"70", + X"00",X"00",X"99",X"50",X"00",X"00",X"99",X"00",X"00",X"00",X"99",X"00",X"00",X"00",X"99",X"00", + X"00",X"0B",X"99",X"AA",X"00",X"00",X"99",X"EE",X"00",X"00",X"90",X"00",X"00",X"B0",X"90",X"00", + X"00",X"09",X"90",X"00",X"00",X"90",X"99",X"AA",X"00",X"99",X"99",X"EE",X"09",X"99",X"99",X"00", + X"90",X"99",X"99",X"00",X"99",X"99",X"99",X"00",X"99",X"99",X"99",X"70",X"B9",X"90",X"99",X"70", + X"99",X"99",X"99",X"57",X"90",X"99",X"99",X"05",X"09",X"99",X"99",X"00",X"09",X"9B",X"99",X"99", + X"90",X"99",X"99",X"99",X"00",X"99",X"09",X"99",X"00",X"09",X"99",X"99",X"00",X"90",X"99",X"99"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/rom/midssio_82s123.vhd b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/rom/midssio_82s123.vhd new file mode 100644 index 00000000..daecc05c --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/rom/midssio_82s123.vhd @@ -0,0 +1,24 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity midssio_82s123 is +port ( + clk : in std_logic; + addr : in std_logic_vector(4 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of midssio_82s123 is + type rom is array(0 to 31) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"FF",X"FF",X"FF",X"FF",X"FF",X"7F",X"FF",X"FF",X"FE",X"FF",X"FF",X"FD",X"FF",X"FE",X"FF",X"F7", + X"FB",X"EF",X"6D",X"07",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/satans_hollow.vhd b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/satans_hollow.vhd new file mode 100644 index 00000000..9f9e6670 --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/satans_hollow.vhd @@ -0,0 +1,889 @@ +--------------------------------------------------------------------------------- +-- Satans Hollow by Dar (darfpga@aol.fr) (09/11/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +-- gen_ram.vhd & io_ps2_keyboard +-------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +--------------------------------------------------------------------------------- +-- T80/T80se - Version : 304 +----------------------------- +-- Z80 compatible microprocessor core +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +--------------------------------------------------------------------------------- +-- YM2149 (AY-3-8910) +-- Copyright (c) MikeJ - Jan 2005 +--------------------------------------------------------------------------------- +-- Educational use only +-- Do not redistribute synthetized file with roms +-- 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 : VGA 31Khz/60Hz and TV 15kHz +-- Coctail mode : NO +-- Sound : OK + +-- Use with MAME roms from shollow.zip +-- +-- Use make_satans_hollow_proms.bat to build vhd file from binaries +-- (CRC list included) + +-- 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. +-- 48Kx8bits program rom +-- +-- One char/background tile map 30x32 +-- 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 +-- 4x8Kx8bits graphics rom 4bits/pixel +-- rbg programmable ram palette 64 colors 9bits : 3red 3green 3blue +-- +-- Working ram : 2Kx8bits +-- video (char/background) ram : 2Kx8bits +-- Sprites ram : 512x8bits + 512x8bits cache buffer + +-- Sprites line buffer rams : 1 scan line delay flip/flop 2x256x8bits +-- +-- SOUND : see satans_hollow_sound_board.vhd + +--------------------------------------------------------------------------------- +-- Schematics remarks : +-- +-- 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) +-- +-- Original video is interlaced 240 display lines per 1/2 frame +-- +-- H0 and V0 are not use for background => each bg tile is 16x16 pixel but +-- background graphics is 2x2 pixels defintion. +-- +-- Sprite are 32x32 pixels with 1x1 pixel definition, 16 lines for odd 1/2 +-- frame and 16 lines for even 2/2 frame thanks to V8 on sprite rom ROMAD2 +-- (look at 74ls86 G1 pin 9 on video genration board schematics) +-- +-- *H and V stand for Horizontal en Vertical counter (Hcnt, Vcnt in VHDL code) +-- +-- /!\ 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 +-- buffer is access by transfer address counter during 2 scanlines after +-- visible area and only by sprite machine during visible area. +-- +-- Thus cpu can read and update sprites position during entire frame except +-- during 2 lines. +-- +-- Sprite data are organised (as seen by cpu F000-F1FF) into 128 * 4bytes. +-- bytes #1 : Vertical position +-- bytes #2 : code and attribute +-- bytes #3 : Horizontal position +-- bytes #4 : not used +-- +-- 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 +-- by hardware signal line 493. channel 0 to 2 are in timer mode. Schematic +-- show zc/to of channel 0 connected to clk/trg of channel 1. This seems to be +-- unsued for that (Kick) game. +-- +-- 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. +-- +-- 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. +-- +--------------------------------------------------------------------------------- + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity satans_hollow is +port( + clock_40 : in std_logic; + reset : in std_logic; + tv15Khz_mode : in std_logic; + video_r : out std_logic_vector(2 downto 0); + video_g : out std_logic_vector(2 downto 0); + video_b : out std_logic_vector(2 downto 0); + video_clk : out std_logic; + video_csync : out std_logic; + video_blankn : out std_logic; + video_hs : out std_logic; + video_vs : out std_logic; + + 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; + fire1 : in std_logic; + fire2 : in std_logic; + analog_x : in std_logic_vector(7 downto 0); + analog_y : in std_logic_vector(7 downto 0); + cocktail : in std_logic; + service : in std_logic; + + cpu_rom_addr : out std_logic_vector(15 downto 0); + cpu_rom_do : in std_logic_vector(7 downto 0); + + snd_rom_addr : out std_logic_vector(13 downto 0); + snd_rom_do : in std_logic_vector(7 downto 0) + ); +end satans_hollow; + +architecture struct of satans_hollow is + + signal reset_n : std_logic; + signal clock_vid : std_logic; + signal clock_vidn: std_logic; + signal clock_cnt : std_logic_vector(3 downto 0) := "0000"; + + signal hcnt : std_logic_vector(9 downto 0) := (others=>'0'); -- horizontal counter + signal vcnt : std_logic_vector(9 downto 0) := (others=>'0'); -- vertical counter + signal vflip : std_logic_vector(9 downto 0) := (others=>'0'); -- vertical counter flip + + signal hs_cnt, vs_cnt :std_logic_vector(9 downto 0) ; + signal hsync0, hsync1, hsync2, hsync3, hsync4 : std_logic; + signal top_frame : std_logic := '0'; + + signal pix_ena : std_logic; + signal cpu_ena : std_logic; + + signal cpu_addr : std_logic_vector(15 downto 0); + signal cpu_di : std_logic_vector( 7 downto 0); + signal cpu_do : std_logic_vector( 7 downto 0); + signal cpu_wr_n : std_logic; + signal cpu_rd_n : std_logic; + signal cpu_mreq_n : std_logic; + signal cpu_ioreq_n : std_logic; + signal cpu_irq_n : std_logic; + signal cpu_m1_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_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_3_trg : std_logic; + signal ctc_counter_3_do : std_logic_vector(7 downto 0); + signal ctc_counter_3_int : std_logic; + +-- signal cpu_rom_do : std_logic_vector( 7 downto 0); + + signal wram_we : std_logic; + signal wram_do : std_logic_vector( 7 downto 0); + + signal bg_ram_addr: std_logic_vector(10 downto 0); + signal bg_ram_we : std_logic; + signal bg_ram_do : std_logic_vector(7 downto 0); + signal bg_ram_do_r: std_logic_vector(7 downto 0); -- registred ram data for cpu + + signal bg_code : std_logic_vector(7 downto 0); + signal bg_code_r : std_logic_vector(7 downto 0); + signal bg_attr : std_logic_vector(7 downto 0); + + signal bg_code_line : std_logic_vector(12 downto 0); + signal bg_graphx1_do : std_logic_vector( 7 downto 0); + signal bg_graphx2_do : std_logic_vector( 7 downto 0); + signal bg_palette_addr : std_logic_vector( 5 downto 0); + + signal sp_ram_cache_addr : std_logic_vector(8 downto 0); + signal sp_ram_cache_we : std_logic; + signal sp_ram_cache_do : std_logic_vector(7 downto 0); + signal sp_ram_cache_do_r : std_logic_vector(7 downto 0);-- registred ram data for cpu + + signal move_buf : std_logic; + signal sp_ram_addr : std_logic_vector(8 downto 0); + signal sp_ram_we : std_logic; + signal sp_ram_do : std_logic_vector(7 downto 0); + + signal sp_cnt : std_logic_vector(6 downto 0); + signal sp_code : std_logic_vector( 7 downto 0); + signal sp_input_phase : std_logic_vector( 5 downto 0); + + signal sp_done : std_logic; + signal sp_vcnt : std_logic_vector( 9 downto 0); + signal sp_line : std_logic_vector( 4 downto 0); + signal sp_hcnt : std_logic_vector( 8 downto 0); -- lsb used to mux rd/wr line buffer + signal sp_on_line : std_logic; + signal sp_on_line_r : std_logic; + signal sp_byte_cnt : std_logic_vector( 1 downto 0); + signal sp_code_line : std_logic_vector(12 downto 0); + signal sp_code_line_mux: std_logic_vector(14 downto 0); + signal sp_hflip : std_logic_vector( 1 downto 0); + signal sp_vflip : std_logic_vector( 4 downto 0); + + signal sp_graphx_do : std_logic_vector( 7 downto 0); + signal sp_mux_roms : std_logic_vector( 1 downto 0); + signal sp_graphx_flip : std_logic_vector( 7 downto 0); + + signal sp_buffer_ram1_addr : std_logic_vector(7 downto 0); + signal sp_buffer_ram1_we : std_logic; + signal sp_buffer_ram1_di : std_logic_vector(7 downto 0); + signal sp_buffer_ram1_do : std_logic_vector(7 downto 0); + signal sp_buffer_ram1_do_r : std_logic_vector(7 downto 0); + + signal sp_buffer_ram2_addr : std_logic_vector(7 downto 0); + signal sp_buffer_ram2_we : std_logic; + signal sp_buffer_ram2_di : std_logic_vector(7 downto 0); + signal sp_buffer_ram2_do : std_logic_vector(7 downto 0); + signal sp_buffer_ram2_do_r : std_logic_vector(7 downto 0); + + signal sp_buffer_sel : std_logic; + + signal sp_vid : std_logic_vector(3 downto 0); + + signal palette_addr : std_logic_vector(5 downto 0); + signal palette_we : std_logic; + signal palette_do : std_logic_vector(8 downto 0); + + 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 input_4 : std_logic_vector(7 downto 0); + +begin + +clock_vid <= clock_40; +clock_vidn <= not clock_40; +reset_n <= not reset; + +-- make enables clock from clock_vid +process (clock_vid, reset) +begin + if reset='1' then + clock_cnt <= (others=>'0'); + else + if rising_edge(clock_vid) then + if clock_cnt = "1111" then -- divide by 16 + clock_cnt <= (others=>'0'); + else + clock_cnt <= clock_cnt + 1; + end if; + end if; + end if; +end process; +-- +cpu_ena <= '1' when clock_cnt = "1111" else '0'; -- (2.5MHz) +pix_ena <= '1' when (clock_cnt(1 downto 0) = "11" and tv15Khz_mode = '1') or -- (10MHz) + (clock_cnt(0) = '1' and tv15Khz_mode = '0') else '0'; -- (20MHz) + +----------------------------------- +-- Video scanner 634x525 @20Mhz -- +-- display 512x480 -- +----------------------------------- +process (reset, clock_vid) +begin + if reset='1' then + 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; + 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; + + else -- interlaced mode + + if hcnt = 530+18 then + hs_cnt <= (others => '0'); + if (vcnt = 240) then + vs_cnt <= (others => '0'); + else + vs_cnt <= vs_cnt +1; + end if; + else + hs_cnt <= hs_cnt + 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'; + end if; + + if hs_cnt = 0 then hsync1 <= '0'; + elsif hs_cnt = 23 then hsync1 <= '1'; + elsif hs_cnt = 317+ 0 then hsync1 <= '0'; + elsif hs_cnt = 317+23 then hsync1 <= '1'; + end if; + + if hs_cnt = 0 then hsync2 <= '0'; + elsif hs_cnt = 317-47 then hsync2 <= '1'; + elsif hs_cnt = 317 then hsync2 <= '0'; + elsif hs_cnt = 634-47 then hsync2 <= '1'; + end if; + + + if hs_cnt = 0 then hsync3 <= '0'; + elsif hs_cnt = 23 then hsync3 <= '1'; + elsif hs_cnt = 317 then hsync3 <= '0'; + elsif hs_cnt = 634-47 then hsync3 <= '1'; + end if; + + if hs_cnt = 0 then hsync4 <= '0'; + elsif hs_cnt = 317-47 then hsync4 <= '1'; + elsif hs_cnt = 317 then hsync4 <= '0'; + elsif hs_cnt = 317+23 then hsync4 <= '1'; + end if; + + + if vs_cnt = 1 then video_csync <= hsync1; + elsif vs_cnt = 2 then video_csync <= hsync1; + elsif vs_cnt = 3 then video_csync <= hsync1; + elsif vs_cnt = 4 and top_frame = '1' then video_csync <= hsync3; + elsif vs_cnt = 4 and top_frame = '0' then video_csync <= hsync1; + elsif vs_cnt = 5 then video_csync <= hsync2; + elsif vs_cnt = 6 then video_csync <= hsync2; + elsif vs_cnt = 7 and top_frame = '1' then video_csync <= hsync4; + elsif vs_cnt = 7 and top_frame = '0' then video_csync <= hsync2; + elsif vs_cnt = 8 then video_csync <= hsync1; + elsif vs_cnt = 9 then video_csync <= hsync1; + elsif vs_cnt = 10 then video_csync <= hsync1; + 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 -- +-------------------- +input_0 <= not service & "11" & not fire1 & not start2 & not start1 & not coin2 & not coin1; +input_1 <= not fire2 & "0000000";--spinner; +input_2 <= analog_x; +input_3 <= '1' & cocktail & "111111" ; +input_4 <= analog_y; + + +------------------------------------------ +-- 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"; + +------------------------------------------------------------------------ +-- 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'; + +------------------------------------------ +-- write enable / ram access from CPU -- +------------------------------------------ +wram_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"E000") = x"C000" else '0'; +sp_ram_cache_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"E800") = x"E000" and hcnt(0) = '0' else '0'; +bg_ram_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and (cpu_addr and x"E800") = x"E800" and hcnt(0) = '0' else '0'; + +ssio_iowe <= '1' when cpu_wr_n = '0' and cpu_ioreq_n = '0' else '0'; + +---------------------- +--- sprite machine --- +---------------------- +vflip <= vcnt(8 downto 0) & top_frame when tv15Khz_mode = '1' else vcnt; -- do not apply mirror flip + +sp_buffer_sel <= vflip(1) when tv15Khz_mode = '1' else vflip(0); + +process (clock_vid) +begin + if rising_edge(clock_vid) then + + if pix_ena = '1' then + if hcnt = 0 then + sp_cnt <= (others => '0'); + sp_input_phase <= (others => '0'); + sp_on_line <= '0'; + sp_done <= '0'; + end if; + + if sp_done = '0' then + sp_input_phase <= sp_input_phase + 1 ; + sp_hcnt <= sp_hcnt + 1; + case sp_input_phase is + when "000000" => + if sp_vcnt(8 downto 5) = x"F" then + sp_line <= sp_vcnt(4 downto 0); + else + sp_input_phase <= (others => '0'); + sp_cnt <= sp_cnt + 1; + if sp_cnt = "1111111" then sp_done <= '1'; end if; + end if; + sp_byte_cnt <= (others => '0'); + when "000001" => + sp_code <= sp_ram_do; + when "000010" => + sp_hcnt <= sp_ram_do & '0'; + sp_on_line <= '1'; + when "001001"|"010001"|"011001" => + sp_byte_cnt <= sp_byte_cnt + 1; + when "100001" => + sp_on_line <= '0'; + sp_input_phase <= (others => '0'); + sp_cnt <= sp_cnt + 1; + if sp_cnt = "1111111" then sp_done <= '1'; end if; + when others => + null; + end case; + sp_mux_roms <= sp_input_phase(2 downto 1); + end if; + + if hcnt(0) = '0' then + sp_buffer_ram1_do_r <= sp_buffer_ram1_do; + sp_buffer_ram2_do_r <= sp_buffer_ram2_do; + end if; + + end if; + + end if; +end process; + +-- sp_ram_cache can be read/write by cpu when hcnt(0) = 0; +-- sp_ram_cache can be read by sprite machine when hcnt(0) = 1; + +sp_ram_cache_addr <= cpu_addr(8 downto 0) when hcnt(0) = '0' else sp_ram_addr; + +--sp_ram_cache_addr <= cpu_addr(8 downto 0) when sp_ram_cache_cpu_access = '1' else sp_ram_addr; + +move_buf <= '1' when (vcnt(8 downto 1) = 250 and tv15Khz_mode = '0') or (vcnt(7 downto 1) = 125 and tv15Khz_mode = '1') else '0'; -- line 500-501 +sp_ram_addr <= vcnt(0) & hcnt(8 downto 1) when move_buf = '1' else sp_cnt & sp_input_phase(1 downto 0); +sp_ram_we <= hcnt(0) when move_buf = '1' else '0'; + +sp_vcnt <= vflip + (sp_ram_do & '0'); -- valid when sp_input_phase = 0 + +sp_hflip <= (others => sp_code(6)); +sp_vflip <= (others => sp_code(7)); + +sp_code_line <= sp_code(5 downto 0) & (sp_line xor sp_vflip) & (sp_byte_cnt xor sp_hflip); -- sprite graphics roms addr + +sp_code_line_mux <= "00" & sp_code_line when (sp_hflip(0) = '0' and sp_mux_roms = "01") or + (sp_hflip(0) = '1' and sp_mux_roms = "00") else + "01" & sp_code_line when (sp_hflip(0) = '0' and sp_mux_roms = "10") or + (sp_hflip(0) = '1' and sp_mux_roms = "11") else + "10" & sp_code_line when (sp_hflip(0) = '0' and sp_mux_roms = "11") or + (sp_hflip(0) = '1' and sp_mux_roms = "10") else + "11" & sp_code_line;-- when (sp_hflip(0) = '0' and sp_mux_roms = "00") or + --(sp_hflip(0) = '1' and sp_mux_roms = "01") ; + +sp_graphx_flip <= sp_graphx_do when sp_hflip(0) = '0' else + sp_graphx_do(3 downto 0) & sp_graphx_do(7 downto 4); + +sp_buffer_ram1_di <= sp_buffer_ram1_do or sp_graphx_flip when sp_buffer_sel = '1' else "00000000"; +sp_buffer_ram1_addr <= sp_hcnt(8 downto 1) when sp_buffer_sel = '1' else hcnt(8 downto 1) - X"05"; +sp_buffer_ram1_we <= not sp_hcnt(0) and sp_on_line and pix_ena when sp_buffer_sel = '1' else hcnt(0); + +sp_buffer_ram2_di <= sp_buffer_ram2_do or sp_graphx_flip when sp_buffer_sel = '0' else "00000000"; +sp_buffer_ram2_addr <= sp_hcnt(8 downto 1) when sp_buffer_sel = '0' else hcnt(8 downto 1) - X"05"; +sp_buffer_ram2_we <= not sp_hcnt(0) and sp_on_line and pix_ena when sp_buffer_sel = '0' else hcnt(0); + +sp_vid <= sp_buffer_ram1_do_r(7 downto 4) when (sp_buffer_sel = '0') and (hcnt(0) = '1') else + sp_buffer_ram1_do_r(3 downto 0) when (sp_buffer_sel = '0') and (hcnt(0) = '0') else + sp_buffer_ram2_do_r(7 downto 4) when (sp_buffer_sel = '1') and (hcnt(0) = '1') else + sp_buffer_ram2_do_r(3 downto 0);-- when (sp_buffer_sel = '1') and (hcnt(0) = '0'); + +-------------------- +--- char machine --- +-------------------- +bg_ram_addr <= cpu_addr(10 downto 0) when hcnt(0) = '0' else vflip(8 downto 4) & hcnt(8 downto 4) & hcnt(1); + +bg_code_line <= bg_attr(0) & bg_code_r & (vflip(3 downto 1) xor (bg_attr(2) & bg_attr(2) & bg_attr(2) ) ) & (hcnt(3) xor bg_attr(1)); + +process (clock_vid) +begin + if rising_edge(clock_vid) then + + -- catch ram data for cpu + if hcnt(0) = '0' then + bg_ram_do_r <= bg_ram_do; + sp_ram_cache_do_r <= sp_ram_cache_do; + end if; + + if pix_ena = '1' then + + if hcnt(0) = '1' then + case hcnt(3 downto 1) is + when "110" => bg_code <= bg_ram_do; + when "111" => bg_attr <= bg_ram_do; + bg_code_r <= bg_code; + when others => null; + end case; + + case hcnt(2 downto 1) xor (bg_attr(1) & bg_attr(1)) is + when "00" => bg_palette_addr <= bg_attr(4 downto 3) & bg_graphx2_do(7 downto 6) & bg_graphx1_do(7 downto 6); + when "01" => bg_palette_addr <= bg_attr(4 downto 3) & bg_graphx2_do(5 downto 4) & bg_graphx1_do(5 downto 4); + when "10" => bg_palette_addr <= bg_attr(4 downto 3) & bg_graphx2_do(3 downto 2) & bg_graphx1_do(3 downto 2); + when others => bg_palette_addr <= bg_attr(4 downto 3) & bg_graphx2_do(1 downto 0) & bg_graphx1_do(1 downto 0); + end case; + end if; + + end if; + + end if; +end process; + +--------------------------- +-- mux char/sprite video -- +--------------------------- +palette_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and cpu_addr(15 downto 7) = X"FF"&'1' else '0'; -- 0xFF80-FFFF + +palette_addr <= cpu_addr(6 downto 1) when palette_we = '1' else bg_palette_addr when sp_vid(2 downto 0) = "000" else bg_attr(7 downto 6) & sp_vid; + +process (clock_vid) +begin + if rising_edge(clock_vid) then + video_g <= palette_do(2 downto 0); + video_b <= palette_do(5 downto 3); + video_r <= palette_do(8 downto 6); + end if; +end process; + +------------------------------ +-- components & sound board -- +------------------------------ + +-- microprocessor Z80 +cpu : entity work.T80se +generic map(Mode => 0, T2Write => 1, IOWait => 1) +port map( + RESET_n => reset_n, + CLK_n => clock_vid, + CLKEN => cpu_ena, + WAIT_n => '1', + INT_n => cpu_irq_n, + NMI_n => '1', --cpu_nmi_n, + BUSRQ_n => '1', + M1_n => cpu_m1_n, + MREQ_n => cpu_mreq_n, + IORQ_n => cpu_ioreq_n, + RD_n => cpu_rd_n, + WR_n => cpu_wr_n, + RFSH_n => open, + HALT_n => open, + BUSAK_n => open, + A => cpu_addr, + DI => cpu_di, + 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 + +); + +cpu_rom_addr <= cpu_addr(15 downto 0); + +-- working RAM 0xC000-0xC7FF + mirroring adresses +wram : entity work.cmos_ram +generic map( dWidth => 8, aWidth => 11) +port map( + clk => clock_vidn, + we => wram_we, + addr => cpu_addr(10 downto 0), + d => cpu_do, + q => wram_do +); + +-- video RAM 0xE800-0xEFFF + mirroring adresses +video_ram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 11) +port map( + clk => clock_vidn, + we => bg_ram_we, + addr => bg_ram_addr, + d => cpu_do, + q => bg_ram_do +); + +-- sprite RAM (no cpu access) +sprite_ram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 9) +port map( + clk => clock_vidn, + we => sp_ram_we, + addr => sp_ram_addr, + d => sp_ram_cache_do, + q => sp_ram_do +); + +-- sprite RAM 0xE000-0xE1FF + mirroring adresses +sprites_ram_cache : entity work.gen_ram +generic map( dWidth => 8, aWidth => 9) +port map( + clk => clock_vidn, + we => sp_ram_cache_we, + addr => sp_ram_cache_addr, + d => cpu_do, + q => sp_ram_cache_do +); + +-- sprite line buffer 1 +sprlinebuf1 : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram1_we, + addr => sp_buffer_ram1_addr, + d => sp_buffer_ram1_di, + q => sp_buffer_ram1_do +); + +-- sprite line buffer 2 +sprlinebuf2 : entity work.gen_ram +generic map( dWidth => 8, aWidth => 8) +port map( + clk => clock_vidn, + we => sp_buffer_ram2_we, + addr => sp_buffer_ram2_addr, + d => sp_buffer_ram2_di, + q => sp_buffer_ram2_do +); + +-- background graphics ROM G3 +bg_graphics_1 : entity work.kroozr_bg_bits_1 +port map( + clk => clock_vidn, + addr => bg_code_line, + data => bg_graphx1_do +); + +-- background graphics ROM G4 +bg_graphics_2 : entity work.kroozr_bg_bits_2 +port map( + clk => clock_vidn, + addr => bg_code_line, + data => bg_graphx2_do +); + +-- sprite graphics ROM 1E/1D/1B/1A +sprite_graphics : entity work.kroozr_sp_bits +port map( + clk => clock_vidn, + addr => sp_code_line_mux, + data => sp_graphx_do +); + +--satans_hollow_sound_board +sound_board : entity work.satans_hollow_sound_board +port map( + clock_40 => clock_40, + reset => reset, + + main_cpu_addr => cpu_addr(7 downto 0), + + ssio_iowe => ssio_iowe, + ssio_di => cpu_do, + ssio_do => ssio_do, + + input_0 => input_0, + input_1 => input_1, + input_2 => input_2, + input_3 => input_3, + input_4 => input_4, + + separate_audio => separate_audio, + audio_out_l => audio_out_l, + audio_out_r => audio_out_r, + + cpu_rom_addr => snd_rom_addr, + cpu_rom_do => snd_rom_do +); + +-- background & sprite palette +palette : entity work.gen_ram +generic map( dWidth => 9, aWidth => 6) +port map( + clk => clock_vidn, + we => palette_we, + addr => palette_addr, + d => cpu_addr(0) & cpu_do, + q => palette_do +); + +end struct; \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/satans_hollow_sound_board.vhd b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/satans_hollow_sound_board.vhd new file mode 100644 index 00000000..ffa34eea --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/satans_hollow_sound_board.vhd @@ -0,0 +1,541 @@ +--------------------------------------------------------------------------------- +-- Kick_sound_board by Dar (darfpga@aol.fr) (19/10/2019) +-- http://darfpga.blogspot.fr +--------------------------------------------------------------------------------- +-- gen_ram.vhd & io_ps2_keyboard +-------------------------------- +-- Copyright 2005-2008 by Peter Wendrich (pwsoft@syntiac.com) +-- http://www.syntiac.com/fpga64.html +--------------------------------------------------------------------------------- +-- T80/T80se - Version : 304 +----------------------------- +-- Z80 compatible microprocessor core +-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org) +--------------------------------------------------------------------------------- +-- YM2149 (AY-3-8910) +-- Copyright (c) MikeJ - Jan 2005 +--------------------------------------------------------------------------------- +-- Educational use only +-- Do not redistribute synthetized file with roms +-- Do not redistribute roms whatever the form +-- Use at your own risk +--------------------------------------------------------------------------------- +-- +-- SOUND : 1xZ80 @ 2.0MHz CPU accessing its program rom, working ram, 2x-AY3-8910 +-- 8Kx8bits program rom +-- 1Kx8bits working ram +-- +-- 1xAY-3-8910 +-- 3 sound channels +-- +-- 1xAY-3-8910 +-- 3 sound channels +-- +-- 6 sound modulation (required 8MHz signal => 40MHz/5) +-- 2 global volume control (not activated - not sure it was used for kick ) +-- +-- I/O : +-- 4x8bits command registers from main cpu board (IRAM) +-- 1x8bits status registers to main cpu board (STAT) +-- 5x8bits input buffers to main cpu board (IP0-IP5) +-- 2x8bits output registers from main cpu board (OP0/OP4) +-- +--------------------------------------------------------------------------------- +-- Schematics remarks : +-- Not sure global volume are used => both deactivated +-- Not sure if global channels are mixed together or not => allow for +-- external control mixed/separated +--------------------------------------------------------------------------------- + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity satans_hollow_sound_board is +port( + clock_40 : in std_logic; + reset : in std_logic; + + main_cpu_addr : in std_logic_vector(7 downto 0); + + ssio_iowe : in std_logic; + ssio_di : in std_logic_vector(7 downto 0); + ssio_do : out std_logic_vector(7 downto 0); + + 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); + 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); + cpu_rom_addr : out std_logic_vector(13 downto 0); + cpu_rom_do : in std_logic_vector(7 downto 0) + ); +end satans_hollow_sound_board; + +architecture struct of satans_hollow_sound_board is + + signal reset_n : std_logic; + signal clock_snd : std_logic; + signal clock_sndn: std_logic; + + signal clock_cnt1 : std_logic_vector(4 downto 0) := "00000"; + + signal cpu_ena : std_logic; + signal ena_4Mhz : std_logic; + signal clk_8Mhz : std_logic; + + signal cpu_addr : std_logic_vector(15 downto 0); + signal cpu_di : std_logic_vector( 7 downto 0); + signal cpu_do : std_logic_vector( 7 downto 0); + signal cpu_wr_n : std_logic; + signal cpu_rd_n : std_logic; + signal cpu_mreq_n : std_logic; + signal cpu_ioreq_n : std_logic; + signal cpu_irq_n : std_logic; + signal cpu_m1_n : std_logic; + + + signal wram_we : std_logic; + signal wram_do : std_logic_vector( 7 downto 0); + + signal iram_0_do : std_logic_vector( 7 downto 0); + signal iram_1_do : std_logic_vector( 7 downto 0); + signal iram_2_do : std_logic_vector( 7 downto 0); + signal iram_3_do : std_logic_vector( 7 downto 0); + + signal ssio_status : std_logic_vector( 7 downto 0); + + signal div_E11 : std_logic_vector(2 downto 0); -- binary counter 3msb of E11 - 74161 + signal div_D11 : std_logic_vector(3 downto 0); -- decade counter - D11 - 74160 + signal div_C12 : std_logic_vector(6 downto 0); -- stage ripple counter - C12 - MC140247 + signal clr_int : std_logic; + + signal ay1_audio_chan : std_logic_vector( 1 downto 0); + signal ay1_audio_muxed: std_logic_vector( 7 downto 0); + signal ay1_bc1 : std_logic; + signal ay1_bdir : std_logic; + signal ay1_do : std_logic_vector( 7 downto 0); + signal ay1_cs : std_logic; + signal ay1_port_a : std_logic_vector( 7 downto 0); + signal ay1_port_b : std_logic_vector( 7 downto 0); + + signal ay2_audio_chan : std_logic_vector( 1 downto 0); + signal ay2_audio_muxed: std_logic_vector( 7 downto 0); + signal ay2_bc1 : std_logic; + signal ay2_bdir : std_logic; + signal ay2_do : std_logic_vector( 7 downto 0); + signal ay2_cs : std_logic; + signal ay2_port_a : std_logic_vector( 7 downto 0); + signal ay2_port_b : std_logic_vector( 7 downto 0); + + signal ssio_82s123_addr : std_logic_vector(4 downto 0); + signal ssio_82s123_do : std_logic_vector(7 downto 0); + signal ssio_modulation_clock : std_logic; + signal ssio_modulation_clock_r : std_logic; + signal ssio_modulation_load : std_logic; + signal modulation_counter_a1 : std_logic_vector(3 downto 0); + signal modulation_counter_b1 : std_logic_vector(3 downto 0); + signal modulation_counter_c1 : std_logic_vector(3 downto 0); + signal modulation_counter_a2 : std_logic_vector(3 downto 0); + signal modulation_counter_b2 : std_logic_vector(3 downto 0); + signal modulation_counter_c2 : std_logic_vector(3 downto 0); + + signal ch_a1 : std_logic_vector(7 downto 0); + signal ch_b1 : std_logic_vector(7 downto 0); + signal ch_c1 : std_logic_vector(7 downto 0); + signal ch_a2 : std_logic_vector(7 downto 0); + signal ch_b2 : std_logic_vector(7 downto 0); + signal ch_c2 : std_logic_vector(7 downto 0); + + -- K volume data : 148 138 127 112 95 72 42 0 + type bytes_array is array(0 to 7) of std_logic_vector(7 downto 0); + signal K_volume : bytes_array := (X"94",X"8A",X"7F",X"70",X"5F",X"48",X"2A",X"00"); + + signal volume_ch1 : std_logic_vector(7 downto 0); + signal volume_ch2 : std_logic_vector(7 downto 0); + + signal snd_1 : std_logic_vector(17 downto 0); + signal snd_2 : std_logic_vector(17 downto 0); + signal snd_mono : std_logic_vector(18 downto 0); + +begin + +clock_snd <= clock_40; +clock_sndn <= not clock_40; +reset_n <= not reset; + +-- make enables clock from clock_snd +process (clock_snd, reset) +begin + if reset='1' then + clock_cnt1 <= (others=>'0'); + clk_8Mhz <= '0'; + else + if rising_edge(clock_snd) then + if clock_cnt1 = "10011" then -- divide by 20 + clock_cnt1 <= (others=>'0'); + else + clock_cnt1 <= clock_cnt1 + 1; + end if; + + if clock_cnt1 = "10011" or + clock_cnt1 = "00100" or + clock_cnt1 = "01001" or + clock_cnt1 = "01110" then + + clk_8Mhz <= not clk_8Mhz; -- (50% duty cycle) + end if; + + end if; + end if; +end process; +-- +cpu_ena <= '1' when clock_cnt1 = "00000" else '0'; -- (2.0MHz) + +ena_4Mhz <= '1' when clock_cnt1 = "00000" or + clock_cnt1 = "01010" else '0'; -- (4.0MHz) + +------------------------------------------ +-- cpu data input with address decoding -- +------------------------------------------ +cpu_di <= cpu_rom_do when cpu_mreq_n = '0' and cpu_addr(15 downto 14) = "00" else -- 0x0000-0x3FFF + wram_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12) = X"8" else -- 0x8000-0x83FF + iram_0_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9000" else + iram_1_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9001" else + iram_2_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9002" else + iram_3_do when cpu_mreq_n = '0' and cpu_addr(15 downto 0)= X"9003" else + ay1_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12)= X"A" else + ay2_do when cpu_mreq_n = '0' and cpu_addr(15 downto 12)= X"B" else + x"FF" when cpu_mreq_n = '0' and cpu_addr(15 downto 12)= X"F" else -- 0xF000 (sw3 dip - D14) + X"FF"; + +------------------------------------------ +-- write enable to working ram from CPU -- +------------------------------------------ +wram_we <= '1' when cpu_mreq_n = '0' and cpu_wr_n = '0' and cpu_addr(15 downto 12) = X"8" else '0'; -- 0x8000-0x83FF +clr_int <= '1' when cpu_mreq_n = '0' and cpu_rd_n = '0' and cpu_addr(15 downto 12) = X"E" else '0'; -- 0xE000-0xEFFF + +ay1_cs <= '1' when cpu_mreq_n = '0' and (cpu_rd_n = '0' or cpu_wr_n = '0') and cpu_addr(15 downto 12) = X"A" else '0'; -- 0xA000-0xAFFF +ay2_cs <= '1' when cpu_mreq_n = '0' and (cpu_rd_n = '0' or cpu_wr_n = '0') and cpu_addr(15 downto 12) = X"B" else '0'; -- 0xB000-0xBFFF + +ay1_bdir <= not (not ay1_cs or cpu_addr(0) ); +ay1_bc1 <= not (not ay1_cs or cpu_addr(1) ); +ay2_bdir <= not (not ay2_cs or cpu_addr(0) ); +ay2_bc1 <= not (not ay2_cs or cpu_addr(1) ); + +ssio_do <= input_0 when main_cpu_addr(2 downto 0) = "000" else -- Input 0 -- players, coins, ... + input_1 when main_cpu_addr(2 downto 0) = "001" else -- Input 1 + input_2 when main_cpu_addr(2 downto 0) = "010" else -- Input 2 + input_3 when main_cpu_addr(2 downto 0) = "011" else -- Input 3 -- sw1 dip + input_4 when main_cpu_addr(2 downto 0) = "100" else -- Input 4 + ssio_status when main_cpu_addr(2 downto 0) = "111" else -- ssio status + x"FF"; + +process (clock_snd) +begin + if rising_edge(clock_snd) then + if cpu_wr_n = '0' and cpu_addr(15 downto 12) = X"C" then ssio_status <= cpu_do; end if; -- 0xC000-0xCFFF + end if; +end process; + +------------------------------------------------------------------------ +-- Misc registers : interrupt, counters E11/D11/C12 +------------------------------------------------------------------------ +process (clock_snd, reset, clr_int, ena_4Mhz) +begin + if reset = '1' then + div_E11 <= (others => '0'); -- 3msb of E11 + div_D11 <= (others => '0'); -- decade counter + div_C12 <= (others => '0'); -- MC14024 + else + if rising_edge(clock_snd) then + + if ena_4Mhz = '1' then + + div_E11 <= div_E11 + 1; + + if div_E11 = "111" then + if div_D11 = "1001" then + div_D11 <= (others => '0'); + else + div_D11 <= div_D11 + 1; + end if; + + if div_D11 = "0100" then + div_C12 <= div_C12 + 1; + end if; + + end if; + + end if; + + if clr_int = '1' then + div_C12 <= (others => '0'); + end if; + + end if; + end if; +end process; + +cpu_irq_n <= not div_C12(6); + +------------------------------- +-- sound modulation / volume -- +------------------------------- + +ssio_82s123_addr <= div_D11 & div_E11(2); + +--74166 8 bits shift register (D13) +ssio_modulation_clock <= ssio_82s123_do(7-to_integer(unsigned(div_E11(1 downto 0) & clk_8Mhz))); +ssio_modulation_load <= '1' when div_D11 = "1001" else '0'; + +-- AY-3-8910 #1 +-- ch A (pin 4) modulated by counter controled by port A3-0 (pin 18->21) +-- ch B (pin 3) modulated by counter controled by port A7-4 (pin 14->17) +-- ch C (pin 38) modulated by counter controled by port B3-0 (pin 10->13) +-- mute left and right port B7 (pin 6) +-- volume#1 contoled by port B6-4 (pin 7->9) + +-- AY-3-8910 #2 +-- ch A (pin 4) modulated by counter controled by port A3-0 (pin 18->21) +-- ch B (pin 3) modulated by counter controled by port A7-4 (pin 14->17) +-- ch C (pin 38) modulated by counter controled by port B3-0 (pin 10->13) +-- mute global port B7 (pin 6) +-- volume#2 contoled by port B6-4 (pin 7->9) + +-- 4051 cmos mux (D5 and E3) +-- CBA +-- 000 => switch X0 (pin 13) ON others OFF +-- 001 => switch X1 (pin 14) ON others OFF +-- ... +-- 111 => switch X7 (pin 4) ON others OFF + +-- Assuming R179 to R187 equivalent to +-- +-- -------- +-- --------| R2 |-------- -- with R1 = 24k + n*4.7k +-- ^ | -------- | ^ -- R2 = 24k +-- | --- --- | -- R3 = (7-n)*4.7 +-- | | | | | | -- +-- Vin | | | R1 R3 | | | Vout -- n being 4051 CBA value +-- | | | | | | -- +-- | --- --- | -- which gives +-- | | | | -- Vout = Vin * (7-n)*4.7/(24+(7-n)*4.7) +-- ------------------------ +-- +-- let : Vout = Vin * K(n) = Vin * (7-n)*4.7/(24+(7-n)*4.7) * 256 +-- +-- with K(n) = [148 138 127 112 95 72 42 0] +-- + +process (clock_snd, ssio_modulation_clock, ssio_modulation_load) +begin + if rising_edge(clock_snd) then + ssio_modulation_clock_r <= ssio_modulation_clock; + + if ssio_modulation_load = '1' then + modulation_counter_a1 <= ay1_port_a(3 downto 0); + modulation_counter_b1 <= ay1_port_a(7 downto 4); + modulation_counter_c1 <= ay1_port_b(3 downto 0); + modulation_counter_a2 <= ay2_port_a(3 downto 0); + modulation_counter_b2 <= ay2_port_a(7 downto 4); + modulation_counter_c2 <= ay2_port_b(3 downto 0); + else + if ssio_modulation_clock = '1' and ssio_modulation_clock_r = '0' then + if modulation_counter_a1 > X"0" then modulation_counter_a1 <= modulation_counter_a1 - 1; end if; + if modulation_counter_b1 > X"0" then modulation_counter_b1 <= modulation_counter_b1 - 1; end if; + if modulation_counter_c1 > X"0" then modulation_counter_c1 <= modulation_counter_c1 - 1; end if; + if modulation_counter_a2 > X"0" then modulation_counter_a2 <= modulation_counter_a2 - 1; end if; + if modulation_counter_b2 > X"0" then modulation_counter_b2 <= modulation_counter_b2 - 1; end if; + if modulation_counter_c2 > X"0" then modulation_counter_c2 <= modulation_counter_c2 - 1; end if; + end if; + end if; + + case ay1_audio_chan is + when "00" => if modulation_counter_a1 = x"0" then ch_a1 <= ay1_audio_muxed; else ch_a1 <= (others => '0'); end if; + when "01" => if modulation_counter_b1 = x"0" then ch_b1 <= ay1_audio_muxed; else ch_b1 <= (others => '0'); end if; + when "10" => if modulation_counter_c1 = x"0" then ch_c1 <= ay1_audio_muxed; else ch_c1 <= (others => '0'); end if; + when others => null; + end case; + + case ay2_audio_chan is + when "00" => if modulation_counter_a2 = x"0" then ch_a2 <= ay2_audio_muxed; else ch_a2 <= (others => '0'); end if; + when "01" => if modulation_counter_b2 = x"0" then ch_b2 <= ay2_audio_muxed; else ch_b2 <= (others => '0'); end if; + when "10" => if modulation_counter_c2 = x"0" then ch_c2 <= ay2_audio_muxed; else ch_c2 <= (others => '0'); end if; + when others => null; + end case; + +-- volume_ch1 <= K_volume(to_integer(unsigned(ay1_port_b(6 downto 4)))); +---- volume_ch2 <= K_volume(to_integer(unsigned(ay2_port_b(6 downto 4)))); +-- volume_ch2 <= K_volume(to_integer(unsigned(ay1_port_b(6 downto 4)))); -- use ch1 control otherwise ch2 is always OFF! + + volume_ch1 <= X"FF"; -- finaly don't use volume controls + volume_ch2 <= X"FF"; + + if ay1_audio_chan = "00" then + snd_1 <= (("00"&ch_a1) + ("00"&ch_b1) + ("00"&ch_c1)) * volume_ch1; + end if; + + if ay2_audio_chan = "00" then + snd_2 <= (("00"&ch_a2) + ("00"&ch_b2) + ("00"&ch_c2)) * volume_ch2; + end if; + + end if; +end process; + +snd_mono <= ('0'&snd_1) + ('0'&snd_2); + +audio_out_l <= snd_1(17 downto 2) when separate_audio = '1' else snd_mono(18 downto 3); +audio_out_r <= snd_2(17 downto 2) when separate_audio = '1' else snd_mono(18 downto 3); + +------------------------------ +-- components & sound board -- +------------------------------ + +-- microprocessor Z80 +cpu : entity work.T80se +generic map(Mode => 0, T2Write => 1, IOWait => 1) +port map( + RESET_n => reset_n, + CLK_n => clock_snd, + CLKEN => cpu_ena, + WAIT_n => '1', + INT_n => cpu_irq_n, + NMI_n => '1', --cpu_nmi_n, + BUSRQ_n => '1', + M1_n => cpu_m1_n, + MREQ_n => cpu_mreq_n, + IORQ_n => cpu_ioreq_n, + RD_n => cpu_rd_n, + WR_n => cpu_wr_n, + RFSH_n => open, + HALT_n => open, + BUSAK_n => open, + A => cpu_addr, + DI => cpu_di, + DO => cpu_do +); + +-- cpu program ROM 0x0000-0x2FFF +--rom_cpu : entity work.satans_hollow_sound_cpu +--port map( +-- clk => clock_sndn, +-- addr => cpu_addr(13 downto 0), +-- data => cpu_rom_do +--); + +cpu_rom_addr <= cpu_addr(13 downto 0); + +-- working RAM 0x8000-0x83FF +wram : entity work.gen_ram +generic map( dWidth => 8, aWidth => 10) +port map( + clk => clock_sndn, + we => wram_we, + addr => cpu_addr(9 downto 0), + d => cpu_do, + q => wram_do +); + +-- iram (command from main cpu to sound cpu) +process (clock_snd, reset, ssio_iowe) +begin + if reset = '1' then + iram_0_do <= (others => '0'); + iram_1_do <= (others => '0'); + iram_2_do <= (others => '0'); + iram_3_do <= (others => '0'); + else + if rising_edge(clock_snd) then + if ssio_iowe = '1' and main_cpu_addr(7 downto 2) = "000111" then -- 0x1C - 0x1F + case main_cpu_addr(1 downto 0) is + when "00" => iram_0_do <= ssio_di; + when "01" => iram_1_do <= ssio_di; + when "10" => iram_2_do <= ssio_di; + when "11" => iram_3_do <= ssio_di; + when others => null; + end case; + end if; + end if; + end if; +end process; + +-- AY-3-8910 # 1 +ay_3_8910_1 : entity work.YM2149 +port map( + -- data bus + I_DA => cpu_do, -- in std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA => ay1_do, -- out std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA_OE_L => open, -- out std_logic; + -- control + I_A9_L => '0', -- in std_logic; -- pin 24 + I_A8 => '1', -- in std_logic; -- pin 25 + I_BDIR => ay1_bdir, -- in std_logic; -- pin 27 + I_BC2 => '1', -- in std_logic; -- pin 28 + I_BC1 => ay1_bc1, -- in std_logic; -- pin 29 + I_SEL_L => '0', -- in std_logic; + + O_AUDIO => ay1_audio_muxed, -- out std_logic_vector(7 downto 0); + O_CHAN => ay1_audio_chan, -- out std_logic_vector(1 downto 0); + + -- port a + I_IOA => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA => ay1_port_a, -- out std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA_OE_L => open, -- out std_logic; + -- port b + I_IOB => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB => ay1_port_b, -- out std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB_OE_L => open, -- out std_logic; + + ENA => cpu_ena, -- in std_logic; -- clock enable for higher speed operation + RESET_L => reset_n, -- in std_logic; + CLK => clock_snd -- in std_logic -- note 6 Mhz +); + + +-- AY-3-8910 # 2 +ay_3_8910_2 : entity work.YM2149 +port map( + -- data bus + I_DA => cpu_do, -- in std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA => ay2_do, -- out std_logic_vector(7 downto 0); -- pin 37 to 30 + O_DA_OE_L => open, -- out std_logic; + -- control + I_A9_L => '0', -- in std_logic; -- pin 24 + I_A8 => '1', -- in std_logic; -- pin 25 + I_BDIR => ay2_bdir, -- in std_logic; -- pin 27 + I_BC2 => '1', -- in std_logic; -- pin 28 + I_BC1 => ay2_bc1, -- in std_logic; -- pin 29 + I_SEL_L => '0', -- in std_logic; + + O_AUDIO => ay2_audio_muxed, -- out std_logic_vector(7 downto 0); + O_CHAN => ay2_audio_chan, -- out std_logic_vector(1 downto 0); + + -- port a + I_IOA => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA => ay2_port_a, -- out std_logic_vector(7 downto 0); -- pin 21 to 14 + O_IOA_OE_L => open, -- out std_logic; + -- port b + I_IOB => (others => '0'), -- in std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB => ay2_port_b, -- out std_logic_vector(7 downto 0); -- pin 13 to 6 + O_IOB_OE_L => open, -- out std_logic; + + ENA => cpu_ena, -- in std_logic; -- clock enable for higher speed operation + RESET_L => reset_n, -- in std_logic; + CLK => clock_snd -- in std_logic -- note 6 Mhz +); + +-- midway ssio sound modulation prom +midssio : entity work.midssio_82s123 +port map( + clk => clock_sndn, + addr => ssio_82s123_addr, + data => ssio_82s123_do +); + +end struct; \ No newline at end of file diff --git a/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/sdram.sv b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/sdram.sv new file mode 100644 index 00000000..bc78584d --- /dev/null +++ b/Arcade_MiST/Midway MCR 2/Kozmik Kroozr_MiST/rtl/sdram.sv @@ -0,0 +1,323 @@ +// +// sdram.v +// +// sdram controller implementation for the MiST board +// https://github.com/mist-devel/mist-board +// +// Copyright (c) 2013 Till Harbaum +// Copyright (c) 2019 Gyorgy Szombathelyi +// +// This source file is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This source file is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// + +module sdram ( + + // interface to the MT48LC16M16 chip + inout reg [15:0] SDRAM_DQ, // 16 bit bidirectional data bus + output reg [12:0] SDRAM_A, // 13 bit multiplexed address bus + output reg SDRAM_DQML, // two byte masks + output reg SDRAM_DQMH, // two byte masks + output reg [1:0] SDRAM_BA, // two banks + output SDRAM_nCS, // a single chip select + output SDRAM_nWE, // write enable + output SDRAM_nRAS, // row address select + output SDRAM_nCAS, // columns address select + + // cpu/chipset interface + input init_n, // init signal after FPGA config to initialize RAM + input clk, // sdram clock + + input port1_req, + output reg port1_ack, + input port1_we, + input [23:1] port1_a, + input [1:0] port1_ds, + input [15:0] port1_d, + output [15:0] port1_q, + + input [15:1] cpu1_addr, + output reg [15:0] cpu1_q, + + input port2_req, + output reg port2_ack, + input port2_we, + input [23:1] port2_a, + input [1:0] port2_ds, + input [15:0] port2_d, + output [15:0] port2_q, + + input [15:1] snd_addr, + output reg [15:0] snd_q +); + +localparam RASCAS_DELAY = 3'd2; // tRCD=20ns -> 2 cycles@<100MHz +localparam BURST_LENGTH = 3'b000; // 000=1, 001=2, 010=4, 011=8 +localparam ACCESS_TYPE = 1'b0; // 0=sequential, 1=interleaved +localparam CAS_LATENCY = 3'd2; // 2/3 allowed +localparam OP_MODE = 2'b00; // only 00 (standard operation) allowed +localparam NO_WRITE_BURST = 1'b1; // 0= write burst enabled, 1=only single access write + +localparam MODE = { 3'b000, NO_WRITE_BURST, OP_MODE, CAS_LATENCY, ACCESS_TYPE, BURST_LENGTH}; + +// 64ms/8192 rows = 7.8us -> 842 cycles@108MHz +localparam RFRSH_CYCLES = 10'd842; + +// --------------------------------------------------------------------- +// ------------------------ cycle state machine ------------------------ +// --------------------------------------------------------------------- + +/* + SDRAM state machine for 2 bank interleaved access + 1 word burst, CL2 +cmd issued registered + 0 RAS0 cas1 + 1 ras0 + 2 CAS0 data1 returned + 3 RAS1 cas0 + 4 ras1 + 5 CAS1 data0 returned +*/ + +localparam STATE_RAS0 = 3'd0; // first state in cycle +localparam STATE_RAS1 = 3'd3; // Second ACTIVE command after RAS0 + tRRD (15ns) +localparam STATE_CAS0 = STATE_RAS0 + RASCAS_DELAY; // CAS phase - 3 +localparam STATE_CAS1 = STATE_RAS1 + RASCAS_DELAY; // CAS phase - 5 +localparam STATE_READ0 = 3'd0; //STATE_CAS0 + CAS_LATENCY + 1'd1; // 7 +localparam STATE_READ1 = 3'd3; +localparam STATE_LAST = 3'd5; + +reg [2:0] t; + +always @(posedge clk) begin + t <= t + 1'd1; + if (t == STATE_LAST) t <= STATE_RAS0; +end + +// --------------------------------------------------------------------- +// --------------------------- startup/reset --------------------------- +// --------------------------------------------------------------------- + +// wait 1ms (32 8Mhz cycles) after FPGA config is done before going +// into normal operation. Initialize the ram in the last 16 reset cycles (cycles 15-0) +reg [4:0] reset; +reg init = 1'b1; +always @(posedge clk, negedge init_n) begin + if(!init_n) begin + reset <= 5'h1f; + init <= 1'b1; + end else begin + if((t == STATE_LAST) && (reset != 0)) reset <= reset - 5'd1; + init <= !(reset == 0); + end +end + +// --------------------------------------------------------------------- +// ------------------ generate ram control signals --------------------- +// --------------------------------------------------------------------- + +// all possible commands +localparam CMD_INHIBIT = 4'b1111; +localparam CMD_NOP = 4'b0111; +localparam CMD_ACTIVE = 4'b0011; +localparam CMD_READ = 4'b0101; +localparam CMD_WRITE = 4'b0100; +localparam CMD_BURST_TERMINATE = 4'b0110; +localparam CMD_PRECHARGE = 4'b0010; +localparam CMD_AUTO_REFRESH = 4'b0001; +localparam CMD_LOAD_MODE = 4'b0000; + +reg [3:0] sd_cmd; // current command sent to sd ram +reg [15:0] sd_din; +// drive control signals according to current command +assign SDRAM_nCS = sd_cmd[3]; +assign SDRAM_nRAS = sd_cmd[2]; +assign SDRAM_nCAS = sd_cmd[1]; +assign SDRAM_nWE = sd_cmd[0]; + +reg [24:1] addr_latch[2]; +reg [24:1] addr_latch_next[2]; +reg [15:1] addr_last[2]; +reg [15:1] addr_last2[2]; +reg [15:0] din_latch[2]; +reg [1:0] oe_latch; +reg [1:0] we_latch; +reg [1:0] ds[2]; + +localparam PORT_NONE = 2'd0; +localparam PORT_CPU1 = 2'd1; +localparam PORT_REQ = 2'd2; + +localparam PORT_SND = 2'd1; + +reg [2:0] next_port[2]; +reg [2:0] port[2]; + +reg refresh; +reg [10:0] refresh_cnt; +wire need_refresh = (refresh_cnt >= RFRSH_CYCLES); + +// PORT1: bank 0,1 +always @(*) begin + if (refresh) begin + next_port[0] = PORT_NONE; + addr_latch_next[0] = addr_latch[0]; + end else if (port1_req ^ port1_ack) begin + next_port[0] = PORT_REQ; + addr_latch_next[0] = { 1'b0, port1_a }; + end else if (cpu1_addr != addr_last[PORT_CPU1]) begin + next_port[0] = PORT_CPU1; + addr_latch_next[0] = { 9'd0, cpu1_addr }; + end else begin + next_port[0] = PORT_NONE; + addr_latch_next[0] = addr_latch[0]; + end +end + +// PORT2: bank 2,3 +always @(*) begin + if (port2_req ^ port2_ack) begin + next_port[1] = PORT_REQ; + addr_latch_next[1] = { 1'b1, port2_a }; + end else if (snd_addr != addr_last2[PORT_SND]) begin + next_port[1] = PORT_SND; + addr_latch_next[1] = { 1'b1, 8'd0, snd_addr }; + end else begin + next_port[1] = PORT_NONE; + addr_latch_next[1] = addr_latch[1]; + end +end + +always @(posedge clk) begin + + // permanently latch ram data to reduce delays + sd_din <= SDRAM_DQ; + SDRAM_DQ <= 16'bZZZZZZZZZZZZZZZZ; + { SDRAM_DQMH, SDRAM_DQML } <= 2'b11; + sd_cmd <= CMD_NOP; // default: idle + refresh_cnt <= refresh_cnt + 1'd1; + + if(init) begin + // initialization takes place at the end of the reset phase + if(t == STATE_RAS0) begin + + if(reset == 15) begin + sd_cmd <= CMD_PRECHARGE; + SDRAM_A[10] <= 1'b1; // precharge all banks + end + + if(reset == 10 || reset == 8) begin + sd_cmd <= CMD_AUTO_REFRESH; + end + + if(reset == 2) begin + sd_cmd <= CMD_LOAD_MODE; + SDRAM_A <= MODE; + SDRAM_BA <= 2'b00; + end + end + end else begin + // RAS phase + // bank 0,1 + if(t == STATE_RAS0) begin + addr_latch[0] <= addr_latch_next[0]; + port[0] <= next_port[0]; + { oe_latch[0], we_latch[0] } <= 2'b00; + + if (next_port[0] != PORT_NONE) begin + sd_cmd <= CMD_ACTIVE; + SDRAM_A <= addr_latch_next[0][22:10]; + SDRAM_BA <= addr_latch_next[0][24:23]; + addr_last[next_port[0]] <= addr_latch_next[0][15:1]; + if (next_port[0] == PORT_REQ) begin + { oe_latch[0], we_latch[0] } <= { ~port1_we, port1_we }; + ds[0] <= port1_ds; + din_latch[0] <= port1_d; + end else begin + { oe_latch[0], we_latch[0] } <= 2'b10; + ds[0] <= 2'b11; + end + end + end + + // bank 2,3 + if(t == STATE_RAS1) begin + refresh <= 1'b0; + addr_latch[1] <= addr_latch_next[1]; + { oe_latch[1], we_latch[1] } <= 2'b00; + port[1] <= next_port[1]; + + if (next_port[1] != PORT_NONE) begin + sd_cmd <= CMD_ACTIVE; + SDRAM_A <= addr_latch_next[1][22:10]; + SDRAM_BA <= addr_latch_next[1][24:23]; + addr_last2[next_port[1]] <= addr_latch_next[1][15:1]; + if (next_port[1] == PORT_REQ) begin + { oe_latch[1], we_latch[1] } <= { ~port2_we, port2_we }; + ds[1] <= port2_ds; + din_latch[1] <= port2_d; + end else begin + { oe_latch[1], we_latch[1] } <= 2'b10; + ds[1] <= 2'b11; + end + end + + if (next_port[1] == PORT_NONE && need_refresh && !we_latch[0] && !oe_latch[0]) begin + refresh <= 1'b1; + refresh_cnt <= 0; + sd_cmd <= CMD_AUTO_REFRESH; + end + end + + // CAS phase + if(t == STATE_CAS0 && (we_latch[0] || oe_latch[0])) begin + sd_cmd <= we_latch[0]?CMD_WRITE:CMD_READ; + { SDRAM_DQMH, SDRAM_DQML } <= ~ds[0]; + if (we_latch[0]) begin + SDRAM_DQ <= din_latch[0]; + port1_ack <= port1_req; + end + SDRAM_A <= { 4'b0010, addr_latch[0][9:1] }; // auto precharge + SDRAM_BA <= addr_latch[0][24:23]; + end + + if(t == STATE_CAS1 && (we_latch[1] || oe_latch[1])) begin + sd_cmd <= we_latch[1]?CMD_WRITE:CMD_READ; + { SDRAM_DQMH, SDRAM_DQML } <= ~ds[1]; + if (we_latch[1]) begin + SDRAM_DQ <= din_latch[1]; + port2_ack <= port2_req; + end + SDRAM_A <= { 4'b0010, addr_latch[1][9:1] }; // auto precharge + SDRAM_BA <= addr_latch[1][24:23]; + end + + // Data returned + if(t == STATE_READ0 && oe_latch[0]) begin + case(port[0]) + PORT_REQ: begin port1_q <= sd_din; port1_ack <= port1_req; end + PORT_CPU1: begin cpu1_q <= sd_din; end + default: ; + endcase; + end + if(t == STATE_READ1 && oe_latch[1]) begin + case(port[1]) + PORT_REQ: begin port2_q <= sd_din; port2_ack <= port2_req; end + PORT_SND: begin snd_q <= sd_din; end + default: ; + endcase; + end + end +end + +endmodule diff --git a/Arcade_MiST/Midway MCR 2/Kroozr_MiST/Snapshot/Kroozr.rbf b/Arcade_MiST/Midway MCR 2/Kroozr_MiST/Snapshot/Kroozr.rbf deleted file mode 100644 index 049a54efd261846dd3ba4a066d80b4894a1037d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 323421 zcmeFa4V)ZTb>Lf7(@`ZOlxY=S-CRLRG5xM}UKq)K z?|BpQ`~lfzH=DR_cMa~bMrdRNQ4$~{A+rKDv8?ct?B>H7S$>GD36g=VUp5K0*(Btb z1V$oRvde#S ze7QJC{)ITmbzc7Y&UtnR43h)5I zP2PDD$kXMS-2d4;$aM~R+G6LCvtTFCp?HTM^6MNQp}l~lOPb&>V=f#=$0q;%5$0uY?!(OGDWC_wlzuV2o`f!hG7cVW8VEFkFuQisr4ctk+@NbUuXe5}Z| zq%DM;KKV0gTaMR8U?EOt<0klYusBV>_W@r51c$wV&_?Q$dh&Yny7GHDOIi+cFLmDs z2tLy9!jB8vfA)3HJml%phIaz10D1HgK<=duk#zzKuRAHj!~X<)9mt+6k>BO~#3&3rPC~Ur85`G@(a6hNZuSAM zFQgRuW{DjB5Rm(v?)i16#?wc6zK~ZJ;vm=3?|J=l&g;w5wgFOSo-X|+W#)LuS?(_e zIS%4yuSRo;4W>>(}f;_gQVqfF`VRiUVnaG3FKoz&N2_@b;?quk59 zzYr&RCigjr+|Ol-qzOMtn$#ufzXJ$fj{uS`AZb!}4*kH53qbA{;vseZIw0dut_5U1 z5_+5uz5r|ogj*$#)SIVC`eT5UDWnjcL_knjeikf1D|;q52nY^kK=6DT*fkHLyU9G9 zgFMTx<@~qvaCTbWC(=Ixy$fI=4*9jV__avX$b^YI|()1!9rD{+2&0}$TN zL2z1t#-f+fuL6RHWDwk?97z-Wg!T(-JR2wB(}mCT>l_D>uL43>;YaEBj`ZvtMb^n2 zxCRhCUQ#7ZWb;n~-SZ&y_}74pOG)1Z2rhCKxE+vlj-TKq`eTlV&{wYW@gi)Jk6)=% z@DhC}*PnC!Xfq)C^M?SjZA9kD{htGJ{zu^NfxiU449NHq$mt;XitNwpm+}M;p~XVT z(*zd*p}W9BdWrraeey9t`bX{sBu#W6Nzc!cCOjc$NzeI8@W?^NfXtV2mcAE!ay%qW z?uA|ga-Dzqzlh2#7V}b)GvJ` zXX#ftOP@#`!b<{jorByzI1f^%+>6YRq(1_LPTvN875FrerwI;1A4wOU6A*l4Jp2%_ zP(KqK1rL#La?WLj^wB~*Bwgyy@ep~n6%d&rX-z2G2_>uC#dm9$p^VtY!R3(umLN!l*~HvsZ1Ps`^_Nf-Gcx`mu&j$a1| zpXBqsj8nN5oFx4}0HO=!v=CmBvG5r{_)Pje9~*KOka5zvI(-yg5*d^~lX3)y9HjrG zz8r)e`L&#--(C;oc;#tgqX|gc<@`}Vcun|A(nMZJx`13uS`LyX{URXvNE=0e78#O* z^oc-z|0+OyBAwLb%cVcx1xT8J^ts%N%o06XK(2op=-hRVxh#>h^pn)T5TqWdGpD