diff --git a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centipede.qpf b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centiped.qpf
similarity index 97%
rename from Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centipede.qpf
rename to Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centiped.qpf
index bbd04726..81af7a3d 100644
--- a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centipede.qpf
+++ b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centiped.qpf
@@ -27,4 +27,4 @@ DATE = "14:59:16 November 16, 2017"
# Revisions
-PROJECT_REVISION = "Centipede"
\ No newline at end of file
+PROJECT_REVISION = "Centiped"
\ No newline at end of file
diff --git a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centipede.qsf b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centiped.qsf
similarity index 96%
rename from Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centipede.qsf
rename to Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centiped.qsf
index 6968eb00..41271f8d 100644
--- a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centipede.qsf
+++ b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centiped.qsf
@@ -145,21 +145,17 @@ set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -
set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
+set_global_assignment -name ENABLE_SIGNALTAP OFF
+set_global_assignment -name USE_SIGNALTAP_FILE output_files/cent.stp
set_global_assignment -name SYSTEMVERILOG_FILE rtl/Centipede_MiST.sv
set_global_assignment -name VERILOG_FILE rtl/centipede.v
set_global_assignment -name VERILOG_FILE rtl/pf_ram.v
-set_global_assignment -name VHDL_FILE rtl/roms/F7.vhd
-set_global_assignment -name VHDL_FILE rtl/roms/HJ7.vhd
-set_global_assignment -name VHDL_FILE rtl/roms/PROG.vhd
-set_global_assignment -name VHDL_FILE rtl/roms/P4.vhd
set_global_assignment -name VHDL_FILE rtl/spram.vhd
set_global_assignment -name VHDL_FILE rtl/dpram.vhd
set_global_assignment -name VHDL_FILE rtl/pll.vhd
-set_global_assignment -name QIP_FILE ../../../common/mist/mist.qip
set_global_assignment -name SYSTEMVERILOG_FILE rtl/POKEY.sv
set_global_assignment -name SYSTEMVERILOG_FILE rtl/matoro.sv
+set_global_assignment -name QIP_FILE ../../../common/mist/mist.qip
set_global_assignment -name QIP_FILE ../../../common/CPU/T65/T65.qip
-set_global_assignment -name ENABLE_SIGNALTAP OFF
-set_global_assignment -name USE_SIGNALTAP_FILE output_files/cent.stp
set_global_assignment -name SIGNALTAP_FILE output_files/cent.stp
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
\ No newline at end of file
diff --git a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centipede.sdc b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centiped.sdc
similarity index 87%
rename from Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centipede.sdc
rename to Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centiped.sdc
index 1d0f7c84..69dc312a 100644
--- a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centipede.sdc
+++ b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/Centiped.sdc
@@ -72,12 +72,12 @@ create_clock -name {SPI_SCK} -period 41.666 -waveform { 20.8 41.666 } [get_port
# 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 -add_delay -clock [get_clocks {CLOCK_27}] 1.000 [get_ports {CLOCK_27}]
+set_input_delay -add_delay -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {CONF_DATA0}]
+set_input_delay -add_delay -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_DI}]
+set_input_delay -add_delay -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SCK}]
+set_input_delay -add_delay -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SS2}]
+set_input_delay -add_delay -clock [get_clocks {SPI_SCK}] 1.000 [get_ports {SPI_SS3}]
#**************************************************************
# Set Output Delay
diff --git a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/README.txt b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/README.txt
index 126df0b2..be27738e 100644
--- a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/README.txt
+++ b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/README.txt
@@ -1,15 +1,28 @@
Arcade: Centipede port to MiST by Gehstock
24 November 2018
---
---
- Only controls and OSD are rotated on Video output.
+Millipede added by Gyorgy Szombathelyi
- Keyboard inputs :
+April 2021
- ESC : Coin/Start Player
---
- SPACE : Fire or Fire Button
---
- ARROW KEYS : Movements
\ No newline at end of file
+--
+--
+-- Usage:
+-- - Create ROM and ARC files from the MRA files using the MRA utility.
+-- Example: mra -A -z /path/to/mame/roms Centipede.mra
+-- - Copy the ROM files to the root of the SD Card
+-- - Copy the RBF and ARC files to the same folder on the SD Card
+--
+-- MRA utility: https://github.com/sebdel/mra-tools-c/
+--
+
+-- Only controls and OSD are rotated on Video output.
+
+-- Keyboard inputs :
+
+-- ESC : Coin/Start Player
+--
+-- CTRL : Fire or Fire Button
+--
+-- ARROW KEYS : Movements
\ No newline at end of file
diff --git a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/meta/Centipede (revision 4).mra b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/meta/Centipede (revision 4).mra
new file mode 100644
index 00000000..90f3d924
--- /dev/null
+++ b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/meta/Centipede (revision 4).mra
@@ -0,0 +1,38 @@
+
+ Centipede (revision 4)
+ 0220
+ centiped
+ 20200430141713
+ 1980
+ Atari
+ Maze / Bugs
+ Maze / Centipede
+ Maze / Spiders
+ centiped
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/meta/Centipede.mra b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/meta/Centipede.mra
new file mode 100644
index 00000000..9b7a0dcc
--- /dev/null
+++ b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/meta/Centipede.mra
@@ -0,0 +1,37 @@
+
+ Centipede (revision 3)
+ 0218
+ centiped3
+ 20200225084106
+ 1980
+ Atari
+ Maze / Bugs
+ Maze / Centipede
+ Maze / Spiders
+ centiped
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/meta/Millipede.mra b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/meta/Millipede.mra
new file mode 100644
index 00000000..52decf04
--- /dev/null
+++ b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/meta/Millipede.mra
@@ -0,0 +1,33 @@
+
+ Millipede
+ 0218
+ milliped
+ 20200225084106
+ 1980
+ Atari
+ Maze / Bugs
+ Maze / Centipede
+ Maze / Spiders
+ centiped
+
+
+
+
+
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/Centipede_MiST.sv b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/Centipede_MiST.sv
index 8929dc6a..e4e2a64f 100644
--- a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/Centipede_MiST.sv
+++ b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/Centipede_MiST.sv
@@ -40,16 +40,13 @@ module Centipede_MiST
`include "rtl\build_id.v"
localparam CONF_STR = {
- "Centipede;;",
+ "CENTIPED;;",
"O2,Rotate Controls,Off,On;",
"O34,Scanlines,Off,25%,50%,75%;",
"O5,Blend,Off,On;",
"O7,Test,Off,On;",
- "O89,Language,English,German,French,Spanish;",
- "OAB,Lives,2,3,4,5;",
- "OCD,Bonus Life,10000,12000,15000,20000;",
- "OE,Difficulty,Hard,Easy;",
- "OF,Credit minimum,1,2;",
+ "DIP;",
+ "R64,Save highscores;",
"T0,Reset;",
"V,v1.50.",`BUILD_DATE
};
@@ -60,11 +57,13 @@ wire blend = status[5];
wire joyswap = status[6];
wire service = status[7];
+wire milliped = core_mod[0];
+
wire [15:0] dipsw;
assign dipsw[ 7:0] = status[15:8];
assign dipsw[15:8] = 8'h01;
-assign LED = 1;
+assign LED = ~(ioctl_downl | ioctl_upl);
assign AUDIO_R = AUDIO_L;
wire clk_24, clk_12, clk_100mhz;
@@ -76,29 +75,55 @@ pll pll(
.c2(clk_12),
.c4(clk_100mhz)
);
-
+
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 [7:0] core_mod;
wire ypbpr;
wire no_csync;
wire key_pressed;
wire [7:0] key_code;
wire key_strobe;
-wire [7:0] RGB;
+wire [7:0] RGB;
wire hs, vs, vb, hb;
-reg blankn;
+wire blankn = ~(hb | vb);
wire [3:0] audio;
-always @(posedge clk_12) blankn <= ~(hb | vb);
+wire ioctl_downl;
+wire ioctl_upl;
+wire [7:0] ioctl_index;
+wire ioctl_wr;
+wire [24:0] ioctl_addr;
+wire [7:0] ioctl_dout;
+wire [7:0] ioctl_din;
+
+data_io data_io(
+ .clk_sys ( clk_12 ),
+ .SPI_SCK ( SPI_SCK ),
+ .SPI_SS2 ( SPI_SS2 ),
+ .SPI_DI ( SPI_DI ),
+ .SPI_DO ( SPI_DO ),
+ .ioctl_download( ioctl_downl ),
+ .ioctl_upload ( ioctl_upl ),
+ .ioctl_index ( ioctl_index ),
+ .ioctl_wr ( ioctl_wr ),
+ .ioctl_addr ( ioctl_addr ),
+ .ioctl_dout ( ioctl_dout ),
+ .ioctl_din ( ioctl_din )
+);
+
+reg reset;
+always @(posedge clk_12) reset <= status[0] | buttons[1] | ioctl_downl;
centipede centipede(
.clk_100mhz(clk_100mhz),
.clk_12mhz(clk_12),
- .reset(status[0] | buttons[1]),
+ .reset(reset),
+ .milli(milliped),
.playerinput_i(~{ 1'b0, 1'b0, m_coin1, service, 1'b0, 1'b0, m_two_players, m_one_player, m_fireB, m_fireA }),
.trakball_i(),
.joystick_i(~{m_right , m_left, m_down, m_up, m_right , m_left, m_down, m_up}),
@@ -109,17 +134,26 @@ centipede centipede(
.vsync_o(vs),
.hblank_o(hb),
.vblank_o(vb),
- .audio_o(audio)
+ .audio_o(audio),
+ // ROM download
+ .dl_addr(ioctl_addr[14:0]),
+ .dl_data(ioctl_dout),
+ .dl_we(ioctl_wr && ioctl_index == 0),
+ // High score table save-load
+ .hsram_addr(ioctl_addr[5:0]),
+ .hsram_dout(ioctl_din),
+ .hsram_din(ioctl_dout),
+ .hsram_we(ioctl_wr && ioctl_index == 8'hff)
);
-
+
mist_video #(.COLOR_DEPTH(3), .SD_HCNT_WIDTH(10)) mist_video(
.clk_sys ( clk_24 ),
.SPI_SCK ( SPI_SCK ),
.SPI_SS3 ( SPI_SS3 ),
.SPI_DI ( SPI_DI ),
- .R (blankn ? RGB[2:0] : 0),
- .G (blankn ? RGB[5:3] : 0),
- .B (blankn ? RGB[7:6] : 0),
+ .R (blankn ? RGB[2:0] : 0),
+ .G (blankn ? RGB[5:3] : 0),
+ .B (blankn ? RGB[7:6] : 0),
.HSync ( hs ),
.VSync ( vs ),
.VGA_R ( VGA_R ),
@@ -127,14 +161,15 @@ mist_video #(.COLOR_DEPTH(3), .SD_HCNT_WIDTH(10)) mist_video(
.VGA_B ( VGA_B ),
.VGA_VS ( VGA_VS ),
.VGA_HS ( VGA_HS ),
+ .scanlines ( scanlines ),
.rotate ( { 1'b0, rotate } ),
.ce_divider ( 1'b1 ),
.blend ( blend ),
.scandoubler_disable(scandoublerD ),
.no_csync ( no_csync ),
.ypbpr ( ypbpr )
- );
-
+ );
+
user_io #(
.STRLEN(($size(CONF_STR)>>3)))
user_io(
@@ -146,17 +181,18 @@ user_io(
.SPI_MOSI (SPI_DI ),
.buttons (buttons ),
.switches (switches ),
- .scandoubler_disable (scandoublerD ),
+ .scandoubler_disable (scandoublerD ),
.ypbpr (ypbpr ),
.no_csync (no_csync ),
+ .core_mod (core_mod ),
.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(15))
dac (
@@ -165,7 +201,7 @@ dac (
.dac_i({2{audio,audio}}),
.dac_o(AUDIO_L)
);
-
+
wire m_up, m_down, m_left, m_right, m_fireA, m_fireB, m_fireC, m_fireD, m_fireE, m_fireF;
wire m_up2, m_down2, m_left2, m_right2, m_fire2A, m_fire2B, m_fire2C, m_fire2D, m_fire2E, m_fire2F;
wire m_tilt, m_coin1, m_coin2, m_coin3, m_coin4, m_one_player, m_two_players, m_three_players, m_four_players;
@@ -178,12 +214,12 @@ arcade_inputs inputs (
.joystick_0 ( joystick_0 ),
.joystick_1 ( joystick_1 ),
.rotate ( rotate ),
- .orientation ( 2'b01 ),
+ .orientation ( 2'b01 ),
.joyswap ( joyswap ),
- .oneplayer ( 1'b1 ),
+ .oneplayer ( 1'b1 ),
.controls ( {m_tilt, m_coin4, m_coin3, m_coin2, m_coin1, m_four_players, m_three_players, m_two_players, m_one_player} ),
.player1 ( {m_fireF, m_fireE, m_fireD, m_fireC, m_fireB, m_fireA, m_up, m_down, m_left, m_right} ),
.player2 ( {m_fire2F, m_fire2E, m_fire2D, m_fire2C, m_fire2B, m_fire2A, m_up2, m_down2, m_left2, m_right2} )
-);
+);
endmodule
diff --git a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/centipede.v b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/centipede.v
index 541a2069..67f79219 100644
--- a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/centipede.v
+++ b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/centipede.v
@@ -14,11 +14,17 @@
// The game code also relies on the pokey's random number generation working correctly and caused me to
// do some debugging of the pokey code I was using.
// Edit: Changed 2018 Gehstock
+//
+// György Szombathelyi 04/2021
+// - Made it synchronous (still left some combinatorial async resets for an exercise to the reader)
+// - Fixed the high score RAM
+// - Added Millipede
module centipede(
input clk_100mhz,
input clk_12mhz,
input reset,
+ input milli,
input [9:0] playerinput_i,
input [7:0] trakball_i,
input [7:0] joystick_i,
@@ -31,7 +37,16 @@ module centipede(
output vsync_o,
output hblank_o,
output vblank_o,
- output [3:0] audio_o
+ output [3:0] audio_o,
+
+ input [14:0] dl_addr,
+ input [7:0] dl_data,
+ input dl_we,
+
+ input [5:0] hsram_addr,
+ output [7:0] hsram_dout,
+ input [7:0] hsram_din,
+ input hsram_we
);
//
@@ -44,16 +59,16 @@ module centipede(
reg phi0a;
//
- wire rom_n;
- wire ram0_n;
- wire steerclr_n, watchdog_n, out0_n, irqres_n;
- wire pokey_n, pokey2_n, swrd_n, pf_n;
- wire coloram_n, ea_read_n, ea_ctrl_n, ea_addr_n;
- wire in0_n, in1_n;
+ reg rom_n;
+ reg ram0_n;
+ reg steerclr_n, watchdog_n, out0_n, irqres_n;
+ reg pokey_n, pokey2_n, swrd_n, pf_n;
+ reg coloram_n, ea_read_n, ea_ctrl_n, ea_addr_n;
+ reg in0_n, in1_n;
- wire pframrd_n;
- wire pfwr3_n, pfwr2_n, pfwr1_n, pfwr0_n;
- wire pfrd3_n, pfrd2_n, pfrd1_n, pfrd0_n;
+ reg pframrd_n;
+ reg pfwr3_n, pfwr2_n, pfwr1_n, pfwr0_n;
+ reg pfrd3_n, pfrd2_n, pfrd1_n, pfrd0_n;
wire [9:0] adecode;
wire pac_n;
@@ -92,13 +107,13 @@ module centipede(
wire s_4h_n_en;
wire s_256hd_n;
wire s_256h2d_n;
- wire vblankd_n;
+ wire vblankd_n;
wire s_6_12;
-
- reg s_256h2d;
- reg s_256hd;
- reg vblankd;
-
+
+ reg s_256h2d;
+ reg s_256hd;
+ reg vblankd;
+
wire pload_n;
wire write_n;
wire brw_n;
@@ -125,15 +140,15 @@ module centipede(
wire pf_addr_stamp;
wire [31:0] pfd;
- reg [29:16] pfd_hold;
- reg [29:16] pfd_hold2;
+ reg [31:16] pfd_hold;
+ reg [31:16] pfd_hold2;
reg [1:0] gry;
wire [1:0] y;
reg [1:0] mr;
wire [7:0] line_ram_addr;
- reg [1:0] line_ram[0:255];
+ reg [3:0] line_ram[0:255];
reg [7:0] line_ram_ctr;
wire line_ram_ctr_load;
wire line_ram_ctr_clr;
@@ -147,7 +162,7 @@ module centipede(
wire [7:0] pf_rom1_out, pf_rom0_out;
wire [7:0] pf_rom1_out_rev, pf_rom0_out_rev;
- reg [7:0] pic;
+ reg [7:0] pic, picD;
//
@@ -160,22 +175,14 @@ module centipede(
reg hs;
wire hs_set;
- wire hs_addr_clk;
- wire hs_ctrl_clk;
-
//
wire comp_sync;
- reg [3:0] rgbi;
- wire [3:0] coloram_out;
- wire [3:0] coloram_rgbi;
+ reg [7:0] rgbi;
+ wire [7:0] coloram_out;
+ wire [7:0] coloram_rgbi;
wire coloram_w_n;
reg coloren;
- wire [1:0] rama_sel;
- wire [1:0] rama_hi;
- wire [1:0] rama_lo;
- wire [3:0] rama;
-
wire [3:0] audio;
//
wire mob_n;
@@ -189,17 +196,19 @@ module centipede(
wire [7:0] switch_out;
wire flip;
+ wire cntrlsel;
wire coin_ctr_r_drive, coin_ctr_c_drive, coin_ctr_l_drive;
wire [7:0] playerin_out;
wire [7:0] pokey_out;
+ wire [7:0] pokey2_out;
reg [11:0] h_counter;
reg [7:0] v_counter;
wire v_counter_reset;
initial h_counter = 0;
- always @(posedge s_12mhz or posedge reset)
+ always @(posedge s_12mhz)
if (reset)
h_counter <= 0;
else
@@ -239,7 +248,7 @@ module centipede(
assign v_counter_reset = reset | ~vreset == 0;
- always @(posedge s_12mhz or posedge reset)
+ always @(posedge s_12mhz)
if (reset)
v_counter <= 0;
else if (s_256h_n_en)
@@ -254,77 +263,127 @@ module centipede(
assign s_4v = v_counter[2];
assign s_8v = v_counter[3];
assign s_16v = v_counter[4];
- assign s_16v_en = s_256h_n_en & v_counter[4:0] == 5'b01111;
+ assign s_16v_en = s_256h_n_en & v_counter[4:0] == 5'b01111;
assign s_32v = v_counter[5];
assign s_64v = v_counter[6];
assign s_128v = v_counter[7];
+ assign mob_n = ~((s_256h_n & s_256hd) | (s_256h2d_n & s_256hd)) | milli;
+
+ assign blank_clk = ~s_12mhz & (h_counter[3:0] == 4'b1111);
+
+ always @(posedge s_12mhz)
+ if (reset)
+ begin
+ s_256h2d <= 1'b0;
+ s_256hd <= 1'b0;
+ vblankd <= 1'b0;
+ end
+ else if (h_counter[3:0] == 4'b1111)
+ begin
+ s_256h2d <= s_256hd;
+ s_256hd <= s_256h;
+ vblankd <= vblank;
+ end
+
+ assign s_256h2d_n = ~s_256h2d;
+ assign s_256hd_n = ~s_256hd;
+ assign vblankd_n = ~vblankd;
assign vprom_addr = {vblank, s_128v, s_64v, s_32v, s_8v, s_4v, s_2v, s_1v};
-P4 P4(
- .clk(s_12mhz),
- .addr(vprom_addr),
- .data(vprom_out)
- );
+ dpram #(
+ .addr_width_g(8),
+ .data_width_g(4))
+ P4(
+ .clk_a_i(s_12mhz),
+ .clk_b_i(s_12mhz),
+ .we_i(1'b0),
+ .addr_a_i(vprom_addr),
+ .data_a_o(vprom_out),
+ .data_a_i(),
+ .addr_b_i(dl_addr[7:0]),
+ .data_b_o(),
+ .data_b_i(dl_data[3:0]),
+ .we_b_i(dl_we && dl_addr[14:8] == 7'b1010000)
+ );
-always @(posedge s_12mhz or posedge reset)
+ always @(posedge s_12mhz)
if (reset)
vprom_reg <= 0;
- else if (s_256h_n_en)
- vprom_reg <= vprom_out;
+ else if (s_256h_n_en)
+ vprom_reg <= vprom_out;
-assign vsync = vprom_reg[0];
-assign vreset = vprom_reg[2];
-assign hs_set = reset | ~s_256h_n;
+ assign vsync = vprom_reg[0];
+ assign vreset = vprom_reg[2];
+ assign hs_set = reset | ~s_256h_n;
-always @(posedge s_12mhz or posedge hs_set)
- if (hs_set)
- hs <= 1;
- else if (s_32h_en)
- hs <= s_64h;
+ always @(posedge s_12mhz or posedge hs_set)
+ if (hs_set)
+ hs <= 1;
+ else if (s_32h_en)
+ hs <= s_64h;
-assign hsync_reset = reset | hs;
+ assign hsync_reset = reset | hs;
-always @(posedge s_12mhz or posedge hsync_reset)
- if (hsync_reset)
- hsync <= 0;
- else if (s_8h_en)
- hsync <= s_32h;
+ always @(posedge s_12mhz or posedge hsync_reset)
+ if (hsync_reset)
+ hsync <= 0;
+ else if (s_8h_en)
+ hsync <= s_32h;
-always @(posedge s_12mhz)
- if (reset)
+ always @(posedge s_12mhz)
+ if (reset)
coloren <= 0;
else if (s_6mhz_en)
coloren <= s_256hd;
-assign s_6_12 = ~(s_6mhz & s_12mhz);
-reg xxx1;
+ assign s_6_12 = ~(s_6mhz & s_12mhz);
+ reg xxx1;
-always @(posedge s_12mhz)//s_6_12)
- if (reset)
- xxx1 <= 0;
- else if (s_6mhz_en)
- xxx1 <= coloren;
+ always @(posedge s_12mhz)//s_6_12)
+ if (reset)
+ xxx1 <= 0;
+ else if (s_6mhz_en)
+ xxx1 <= coloren;
-assign vblank = vprom_reg[3];
-assign hblank = ~(xxx1 | coloren);
+ reg hblank1_n;
+ always @(posedge s_12mhz)
+ if (reset)
+ hblank1_n <= 0;
+ else if (s_6mhz_n_en)
+ hblank1_n <= s_256hd;
-PROG PROG (
- .clk(s_12mhz),
- .addr(ab[12:0]),
- .data(rom_out[7:0])
- );
-
-spram #(
- .addr_width_g(10),
- .data_width_g(8))
-ram(
- .address(ab[9:0]),
- .clock(s_12mhz),
- .wren(~write_n & ~ram0_n),
- .data(db_out[7:0]),
- .q(ram_out[7:0])
- );
+
+ assign vblank = vprom_reg[3];
+ //assign hblank = ~(xxx1 | coloren);
+ assign hblank = ~hblank1_n;
+
+ dpram #(
+ .addr_width_g(14),
+ .data_width_g(8))
+ PROG(
+ .clk_a_i(s_12mhz),
+ .clk_b_i(s_12mhz),
+ .we_i(1'b0),
+ .addr_a_i(ab[13:0]),
+ .data_a_o(rom_out[7:0]),
+ .data_a_i(),
+ .addr_b_i(dl_addr[13:0]),
+ .data_b_o(),
+ .data_b_i(dl_data),
+ .we_b_i(dl_we && !dl_addr[14])
+ );
+
+ spram #(
+ .addr_width_g(10),
+ .data_width_g(8))
+ ram(
+ .address(ab[9:0]),
+ .clock(s_12mhz),
+ .wren(~write_n & ~ram0_n),
+ .data(db_out[7:0]),
+ .q(ram_out[7:0])
+ );
wire irq_n;
@@ -339,7 +398,7 @@ ram(
assign irq_n = irq;
- always @(posedge s_12mhz or posedge reset)
+ always @(posedge s_12mhz)
if (reset)
phi0a <= 1'b0;
else if (s_1h_en)
@@ -366,33 +425,30 @@ ram(
end
assign mpu_clk = s_6mhz;
- assign mpu_reset_n = ~mpu_reset;
-
-assign phi2 = ~phi0;
-T65 T65(
- .Mode("00"),
- .Res_n(mpu_reset_n),
- .Enable(phi0_en),
- .Clk(s_12mhz),
- .Rdy(1'b1),
- .Abort_n(1'b1),
- .IRQ_n(irq_n),
- .NMI_n(1'b1),
- .SO_n(1'b1),
- .R_W_n(rw_n),
- .A(ab),
- .DI(db_in[7:0]),
- .DO(db_out[7:0])
- );
+ assign mpu_reset_n = ~mpu_reset;
+ assign phi2 = ~phi0;
+ T65 T65(
+ .Mode("00"),
+ .Res_n(mpu_reset_n),
+ .Enable(phi0_en),
+ .Clk(s_12mhz),
+ .Rdy(1'b1),
+ .Abort_n(1'b1),
+ .IRQ_n(irq_n),
+ .NMI_n(1'b1),
+ .SO_n(1'b1),
+ .R_W_n(rw_n),
+ .A(ab),
+ .DI(db_in[7:0]),
+ .DO(db_out[7:0])
+ );
// Address Decoder
assign write_n = ~(phi2 & ~rw_n);
assign brw_n = ~rw_n;
- assign rom_n = brw_n | ~ab[13];
-
assign adecode =
(ab[13:10] == 4'b0000) ? 10'b1111111110 :
(ab[13:10] == 4'b0001) ? 10'b1111111101 :
@@ -406,74 +462,283 @@ T65 T65(
(ab[13:10] == 4'b1001) ? 10'b0111111111 :
10'b1111111111;
-// assign write2_n = ~(s_6mhz & ~write_n);
- reg write2_n;
- always @(posedge s_12mhz)
- if (reset)
- write2_n <= 0;
- else if (s_6mhz_en)
- write2_n <= write_n;
-
- assign steerclr_n = adecode[9] | write2_n;
- assign watchdog_n = adecode[8] | write2_n;
- assign out0_n = adecode[7] | write2_n;
- assign irqres_n = (adecode[6] | write2_n) & mpu_reset_n;
+ wire write2_n = ~(s_6mhz & ~write_n);
- assign coloram_n = (adecode[5] | ab[9])/* | pac_n*/;
+ // For millipede
+ wire mos_n = ab[14:12] != 3'b000;
+ wire io_n = ab[14:12] != 3'b010;
+ wire inputs_n = {io_n, ab[11:10]} != 3'b000;
+ wire outputs_n = {io_n, ab[11:10]} != 3'b001;
- assign pokey_n = adecode[4];
- assign pokey2_n = adecode[3];
+ always @(*) begin
+ if (milli) begin
+ rom_n = brw_n | ~ab[14];
- assign in0_n = adecode[3] | ab[1];
- assign in1_n = adecode[3] | ~ab[1];
+ steerclr_n = 1;//adecode[9] | write2_n;
+
+ in0_n = {inputs_n, ab[5:4]} != 3'b000;
+ in1_n = {inputs_n, ab[5:4]} != 3'b001;
+ ea_read_n = {inputs_n, ab[5:4]} != 3'b011;
- assign swrd_n = adecode[2];
- assign pf_n = adecode[1];
- assign ram0_n = adecode[0];
+ swrd_n = 1;//adecode[2];
+ pf_n = ab[14:12] != 3'b001; // _scram
+ ram0_n = {mos_n, ab[11:10]} != 3'b000;
+ pokey_n = {mos_n, ab[11:10]} != 3'b001;
+ pokey2_n = {mos_n, ab[11:10]} != 3'b010;
+
+ coloram_n = {outputs_n | write_n, ab[9:7]} != 4'b0001;
+ out0_n = {outputs_n | write_n, ab[9:7]} != 4'b0010;
+ irqres_n = {outputs_n | write_n, ab[9:7]} != 4'b0100 & mpu_reset_n;
+ watchdog_n = {outputs_n | write_n, ab[9:7]} != 4'b0101;
+ ea_ctrl_n = {outputs_n | write_n, ab[9:7]} != 4'b0110;
+ ea_addr_n = {outputs_n | write_n, ab[9:7]} != 4'b0111;
- assign {ea_read_n, ea_ctrl_n, ea_addr_n} =
- ({~ab[9]|adecode[5], ab[8:7]} == 3'b000) ? 3'b110 :
- ({~ab[9]|adecode[5], ab[8:7]} == 3'b001) ? 3'b101 :
- ({~ab[9]|adecode[5], ab[8:7]} == 3'b010) ? 3'b011 :
- 3'b111;
- assign pframrd_n = pf_n | brw_n;
+ pframrd_n = pf_n | brw_n;
- assign {pfwr3_n, pfwr2_n, pfwr1_n, pfwr0_n} =
+ {pfwr3_n, pfwr2_n, pfwr1_n, pfwr0_n} =
({pf_n, write_n, ab[5:4]} == 4'b0000) ? 4'b1110 :
({pf_n, write_n, ab[5:4]} == 4'b0001) ? 4'b1101 :
({pf_n, write_n, ab[5:4]} == 4'b0010) ? 4'b1011 :
({pf_n, write_n, ab[5:4]} == 4'b0011) ? 4'b0111 :
4'b1111;
- assign {pfrd3_n, pfrd2_n, pfrd1_n, pfrd0_n} =
+ {pfrd3_n, pfrd2_n, pfrd1_n, pfrd0_n} =
(ab[5:4] == 2'b00) ? 4'b1110 :
(ab[5:4] == 2'b01) ? 4'b1101 :
(ab[5:4] == 2'b10) ? 4'b1011 :
(ab[5:4] == 2'b11) ? 4'b0111 :
4'b1111;
+ end else begin
+ rom_n = brw_n | ~ab[13];
+
+ steerclr_n = adecode[9] | write2_n;
+ watchdog_n = adecode[8] | write2_n;
+ out0_n = adecode[7] | write2_n;
+ irqres_n = (adecode[6] | write2_n) & mpu_reset_n;
+
+ coloram_n = (adecode[5] | ab[9])/* | pac_n*/;
+
+ pokey_n = adecode[4];
+ pokey2_n = 1;// adecode[3];
+
+ in0_n = adecode[3] | ab[1];
+ in1_n = adecode[3] | ~ab[1];
+
+ swrd_n = adecode[2];
+ pf_n = adecode[1];
+ ram0_n = adecode[0];
+
+ {ea_read_n, ea_ctrl_n, ea_addr_n} =
+ ({~ab[9]|adecode[5], ab[8:7]} == 3'b000) ? 3'b110 :
+ ({~ab[9]|adecode[5], ab[8:7]} == 3'b001) ? 3'b101 :
+ ({~ab[9]|adecode[5], ab[8:7]} == 3'b010) ? 3'b011 :
+ 3'b111;
+ pframrd_n = pf_n | brw_n;
+
+ {pfwr3_n, pfwr2_n, pfwr1_n, pfwr0_n} =
+ ({pf_n, write_n, ab[5:4]} == 4'b0000) ? 4'b1110 :
+ ({pf_n, write_n, ab[5:4]} == 4'b0001) ? 4'b1101 :
+ ({pf_n, write_n, ab[5:4]} == 4'b0010) ? 4'b1011 :
+ ({pf_n, write_n, ab[5:4]} == 4'b0011) ? 4'b0111 :
+ 4'b1111;
+
+ {pfrd3_n, pfrd2_n, pfrd1_n, pfrd0_n} =
+ (ab[5:4] == 2'b00) ? 4'b1110 :
+ (ab[5:4] == 2'b01) ? 4'b1101 :
+ (ab[5:4] == 2'b10) ? 4'b1011 :
+ (ab[5:4] == 2'b11) ? 4'b0111 :
+ 4'b1111;
+ end
+ end
//
- assign mob_n = ~((s_256h_n & s_256hd) | (s_256h2d_n & s_256hd));
+ assign db_in =
+ ~rom_n ? rom_out :
+ ~ram0_n ? ram_out :
+ ~coloram_n ? coloram_out :
+ ~pframrd_n ? pf_out[7:0] :
+ ~ea_read_n ? hs_out :
+ ~in0_n ? playerin_out :
+ ~in1_n ? joystick_out :
+ ~swrd_n ? switch_out :
+ ~pokey_n ? pokey_out :
+ ~pokey2_n ? pokey2_out :
+ 8'b0;
+ //
+ // High Score Memory Circuitry
- assign blank_clk = ~s_12mhz & (h_counter[3:0] == 4'b1111);
+ wire hs_addr_en = ~ea_addr_n & ~write2_n;
+ wire hs_ctrl_en = ~ea_ctrl_n & ~write2_n;
- always @(posedge blank_clk or posedge reset)
+ always @(posedge s_12mhz) begin
+ if (hs_addr_en) begin
+ hs_addr <= ab[5:0];
+ hs_data <= db_out[7:0];
+ end
+ if (hs_ctrl_en) hs_ctrl <= db_out[3:0];
+ end
+
+ dpram #(
+ .addr_width_g(6),
+ .data_width_g(8))
+ hs_ram(
+ .clk_a_i(s_12mhz),
+ .clk_b_i(s_12mhz),
+ .we_i(hs_ctrl[1] & ~hs_ctrl[2]),
+ .addr_a_i(hs_addr),
+ .data_a_o(hs_out),
+ .data_a_i(hs_data),
+ .addr_b_i(hsram_addr),
+ .data_b_o(hsram_dout),
+ .data_b_i(hsram_din),
+ .we_b_i(hsram_we)
+ );
+
+ // Joystick Circuitry
+ wire js1_right, js1_left, js1_down, js1_up;
+ wire js2_right, js2_left, js2_down, js2_up;
+
+ assign js1_right = joystick_i[7];
+ assign js1_left = joystick_i[6];
+ assign js1_down = joystick_i[5];
+ assign js1_up = joystick_i[4];
+ assign js2_right = joystick_i[3];
+ assign js2_left = joystick_i[2];
+ assign js2_down = joystick_i[1];
+ assign js2_up = joystick_i[0];
+
+ wire [7:0] joystick_out_centi = ab[0] ?
+ { js1_right, js1_left, js1_down, js1_up, js2_right, js2_left, js2_down, js2_up } :
+ { dir2, 3'b0, trb };
+
+ wire [7:0] joystick_out_milli = {
+ ab[0] ? { self_test, 1'b0, cocktail, 1'b1 } : { coin_r, coin_l, coin_c, slam },
+ cntrlsel ? { js2_down, js2_up, js2_right, js2_left } : { js1_up, js1_down, js1_left, js1_right } };
+
+ assign joystick_out = milli ? joystick_out_milli : joystick_out_centi;
+
+ // Option Input Circuitry
+
+ assign switch_out = ab[0] ?
+ sw2_i :
+ sw1_i;
+
+ // Player Input Circuitry
+ wire coin_r, coin_c, coin_l, self_test;
+ wire cocktail, slam, start1, start2, fire2, fire1;
+
+ assign coin_r = coin_ctr_r_drive ? coin_ctr_r_drive : playerinput_i[9];
+ assign coin_c = coin_ctr_c_drive ? coin_ctr_c_drive : playerinput_i[8];
+ assign coin_l = coin_ctr_l_drive ? coin_ctr_l_drive : playerinput_i[7];
+ assign self_test = playerinput_i[6];
+ assign cocktail = playerinput_i[5];
+ assign slam = playerinput_i[4];
+ assign start2 = playerinput_i[3];
+ assign start1 = playerinput_i[2];
+ assign fire2 = playerinput_i[1];
+ assign fire1 = playerinput_i[0];
+
+ wire [7:0] playerin_out0;
+ wire [7:0] playerin_out1;
+
+ assign playerin_out1 = milli ?
+ { dir2, 1'b0, start2, fire2, sw1_i[7:4] } :
+ { coin_r, coin_c, coin_l, slam, fire2, fire1, start2, start1 };
+
+ assign playerin_out0 = milli ?
+ { dir1, vblank, start1, fire1, sw1_i[3:0] } :
+ { dir1, vblank, self_test, cocktail, tra };
+
+ assign playerin_out = ab[0] ? playerin_out1 : playerin_out0;
+
+ // Coin Counter Output
+ reg [7:0] cc_latch;
+
+ always @(posedge s_12mhz)
if (reset)
- begin
- s_256h2d <= 1'b0;
- s_256hd <= 1'b0;
- vblankd <= 1'b0;
- end
- else
- begin
- s_256h2d <= s_256hd;
- s_256hd <= s_256h;
- vblankd <= vblank;
- end
+ cc_latch <= 0;
+ else if (s_6mhz_en)
+ if (~out0_n)
+ cc_latch[ ab[2:0] ] <= db_out[7];
- assign s_256h2d_n = ~s_256h2d;
- assign s_256hd_n = ~s_256hd;
- assign vblankd_n = ~vblankd;
+ assign flip = milli ? cc_latch[6] : cc_latch[7];
+ assign cntrlsel = milli ? cc_latch[6] : 1'b0;
+ assign led_o[4] = milli ? 1'b0 : cc_latch[6];
+ assign led_o[3] = milli ? 1'b0 : cc_latch[5];
+ assign led_o[2] = cc_latch[4];
+ assign led_o[1] = cc_latch[3];
+ assign coin_ctr_r_drive = cc_latch[2];
+ assign coin_ctr_c_drive = cc_latch[1];
+ assign coin_ctr_l_drive = cc_latch[1];
+
+ // Mini-Trak Ball inputs
+ wire [3:0] tb_mux;
+ wire s_1_horiz_dir, s_1_horiz_ck, s_1_vert_dir, s_1_vert_ck;
+ wire s_2_horiz_dir, s_2_horiz_ck, s_2_vert_dir, s_2_vert_ck;
+ wire tb_h_dir, tb_h_ck, tb_v_dir, tb_v_ck;
+ reg tb_h_reg, tb_v_reg;
+ reg [3:0] tb_h_ctr, tb_v_ctr;
+ wire tb_h_ctr_clr, tb_v_ctr_clr;
+
+ assign s_1_horiz_dir = trakball_i[7];
+ assign s_2_horiz_dir = trakball_i[6];
+ assign s_1_horiz_ck = trakball_i[5];
+ assign s_2_horiz_ck = trakball_i[4];
+ assign s_1_vert_dir = trakball_i[3];
+ assign s_2_vert_dir = trakball_i[2];
+ assign s_1_vert_ck = trakball_i[1];
+ assign s_2_vert_ck = trakball_i[0];
+
+ assign tb_mux = flip ?
+ { s_1_horiz_dir, s_1_horiz_ck, s_1_vert_dir, s_1_vert_ck } :
+ { s_2_horiz_dir, s_2_horiz_ck, s_2_vert_dir, s_2_vert_ck };
+
+ assign tb_h_dir = tb_mux[3];
+ assign tb_h_ck = tb_mux[2];
+ assign tb_v_dir = tb_mux[1];
+ assign tb_v_ck = tb_mux[0];
+/*
+ // H
+ always @(posedge tb_h_ck or posedge reset)
+ if (reset)
+ tb_h_reg <= 0;
+ else
+ tb_h_reg <= tb_h_dir;
+
+ assign tb_h_ctr_clr = reset | ~steerclr_n;
+
+ always @(posedge tb_h_ck or posedge tb_h_ctr_clr)
+ if (tb_h_ctr_clr)
+ tb_h_ctr <= 0;
+ else
+ if (tb_h_reg)
+ tb_h_ctr <= tb_h_ctr + 4'd1;
+ else
+ tb_h_ctr <= tb_h_ctr - 4'd1;
+
+ // V
+ always @(posedge tb_v_ck or posedge reset)
+ if (reset)
+ tb_v_reg <= 0;
+ else
+ tb_v_reg <= tb_v_dir;
+
+ assign tb_v_ctr_clr = reset | ~steerclr_n;
+
+ always @(posedge tb_v_ck or posedge tb_v_ctr_clr)
+ if (tb_v_ctr_clr)
+ tb_v_ctr <= 0;
+ else
+ if (tb_v_reg)
+ tb_v_ctr <= tb_v_ctr + 4'd1;
+ else
+ tb_v_ctr <= tb_v_ctr - 4'd1;
+*/
+ assign tra = tb_h_ctr;
+ assign trb = tb_v_ctr;
+ assign dir1 = tb_h_reg;
+ assign dir2 = tb_v_reg;
+
// motion objects (vertical)
@@ -520,12 +785,15 @@ T65 T65(
// for debug only
assign match_true = (~match_n & s_256h_n) && pfd != 0;
+ wire pic7 = milli ? !s_256h & pic[7] : pic[7];
- assign mga = { match_mux[3] ^ (pic[7] & s_256h_n),
- match_mux[2] ^ pic[7],
- match_mux[1] ^ pic[7],
- match_mux[0] ^ pic[7] };
-
+ assign mga = { match_mux[3] ^ (pic7 & s_256h_n),
+ match_mux[2] ^ pic7,
+ match_mux[1] ^ pic7,
+ match_mux[0] ^ pic7 };
+
+ wire horrot = milli ? (!s_256h & pic[6]) : pic[6];
+ wire mga10 = s_256h ? pic[6] : pic[0];
//---
// motion objects (horizontal)
@@ -548,7 +816,7 @@ T65 T65(
else
/* posedge s_4h */
if (s_4h_en)
- pfd_hold <= pfd[29:16];
+ pfd_hold <= pfd[31:16];
// always @(posedge s_4h_n)
// if (reset)
@@ -562,7 +830,9 @@ T65 T65(
/* posedge s_4h_n */
if (s_4h_n_en)
pfd_hold2 <= pfd_hold;
-
+
+ reg [1:0] y_reg;
+
assign y[1] = // C7
(area == 2'b00) ? (s_256hd ? 1'b0 : gry[1]) :
(area == 2'b01) ? (s_256hd ? 1'b0 : pfd_hold2[25]) :
@@ -577,13 +847,16 @@ T65 T65(
(area == 2'b11) ? (s_256hd ? 1'b0 : pfd_hold2[28]) :
1'b0;
+ assign mocbx[0] = (area == 2'b00) ? (s_256hd ? 1'b0 : mocb[0]) : pfd_hold2[30];
+ assign mocbx[1] = (area == 2'b00) ? (s_256hd ? 1'b0 : mocb[1]) : pfd_hold2[31];
+
assign line_ram_ctr_load = ~(pload_n | s_256h);
assign line_ram_ctr_clr = ~(pload_n | ~(s_256h & s_256hd_n));
- always @(posedge s_6mhz) // A5-B5
+ always @(posedge s_12mhz) // A5-B5
if (reset)
line_ram_ctr <= 0;
- else /*if (s_6mhz_en)*/ begin
+ else if (s_6mhz_en) begin
if (line_ram_ctr_clr)
line_ram_ctr <= 0;
else if (line_ram_ctr_load)
@@ -595,25 +868,26 @@ T65 T65(
assign line_ram_addr = line_ram_ctr;
always @(posedge s_12mhz)
- if (~s_6mhz) line_ram[line_ram_addr] <= y;
+ if (~s_6mhz) line_ram[line_ram_addr] <= {mocbx, y};
- always @(posedge s_12mhz)
- if (reset)
+ always @(negedge s_12mhz)
+ if (reset) begin
mr <= 0;
- else
- mr <= line_ram[line_ram_addr];
+ mocb_o <= 0;
+ end else
+ {mocb_o, mr} <= line_ram[line_ram_addr];
+ reg [1:0] mocb, mocb_o;
+ wire [1:0] mocbx;
- always @(posedge s_6mhz_n)
- if (reset)
- gry <= 0;
- else
- if (~mob_n)
+ always @(posedge s_12mhz, negedge mob_n)
+ if (~mob_n)
gry <= 2'b00;
- else/* if (s_6mhz_n_en)*/
+ else if (s_6mhz_n_en) begin
gry <= mr;
-
+ mocb <= mocb_o;
+ end
// playfield multiplexer
// The playfield multiplexer receives playfield data from the pf memory
@@ -634,26 +908,48 @@ T65 T65(
// else
// pic <= pf[7:0];
always @(posedge s_12mhz)
- if (reset)
- pic <= 0;
- else if (s_4h_en)
- pic <= pf[7:0];
-
-F7 F7(
- .clk(s_12mhz),
- .addr(pf_rom0_addr),
- .data(pf_rom0_out)
- );
-
-HJ7 HJ7(
- .clk(s_12mhz),
- .addr(pf_rom1_addr),
- .data(pf_rom1_out)
- );
+ if (reset)
+ pic <= 0;
+ else if (s_4h_en)
+ pic <= pf[7:0];
+ else if (s_4h_n_en)
+ picD <= pic;
+
+ dpram #(
+ .addr_width_g(11),
+ .data_width_g(8))
+ F7(
+ .clk_a_i(s_12mhz),
+ .clk_b_i(s_12mhz),
+ .we_i(1'b0),
+ .addr_a_i(pf_rom0_addr),
+ .data_a_o(pf_rom0_out),
+ .data_a_i(),
+ .addr_b_i(dl_addr[10:0]),
+ .data_b_o(),
+ .data_b_i(dl_data),
+ .we_b_i(dl_we && dl_addr[14:11] == 4'b1000)
+ );
+
+ dpram #(
+ .addr_width_g(11),
+ .data_width_g(8))
+ HJ7(
+ .clk_a_i(s_12mhz),
+ .clk_b_i(s_12mhz),
+ .we_i(1'b0),
+ .addr_a_i(pf_rom1_addr),
+ .data_a_o(pf_rom1_out),
+ .data_a_i(),
+ .addr_b_i(dl_addr[10:0]),
+ .data_b_o(),
+ .data_b_i(dl_data),
+ .we_b_i(dl_we && dl_addr[14:11] == 4'b1001)
+ );
// a guess, based on millipede schematics
wire pf_romx_haddr;
- assign pf_romx_haddr = s_256h_n & pic[0];
+ assign pf_romx_haddr = milli ? mga10 : s_256h_n & pic[0];
assign pf_rom1_addr = { pf_romx_haddr, s_256h, pic[5:1], mga };
assign pf_rom0_addr = { pf_romx_haddr, s_256h, pic[5:1], mga };
assign pf_rom0_out_rev = { pf_rom0_out[0], pf_rom0_out[1], pf_rom0_out[2], pf_rom0_out[3],
@@ -662,8 +958,8 @@ HJ7 HJ7(
assign pf_rom1_out_rev = { pf_rom1_out[0], pf_rom1_out[1], pf_rom1_out[2], pf_rom1_out[3],
pf_rom1_out[4], pf_rom1_out[5], pf_rom1_out[6], pf_rom1_out[7] };
- assign pf_mux0 = match_n ? 8'b0 : (pic[6] ? pf_rom0_out_rev : pf_rom0_out);
- assign pf_mux1 = match_n ? 8'b0 : (pic[6] ? pf_rom1_out_rev : pf_rom1_out);
+ assign pf_mux0 = match_n ? 8'b0 : (horrot ? pf_rom0_out_rev : pf_rom0_out);
+ assign pf_mux1 = match_n ? 8'b0 : (horrot ? pf_rom1_out_rev : pf_rom1_out);
always @(posedge s_12mhz)
if (reset)
@@ -689,19 +985,6 @@ HJ7 HJ7(
else if (s_6mhz_n_en)
area <= { pf_shift1[7], pf_shift0[7] };
- //
- assign db_in =
- ~rom_n ? rom_out :
- ~ram0_n ? ram_out :
- ~coloram_n ? { 4'b0, coloram_out } :
- ~pframrd_n ? pf_out[7:0] :
- ~ea_read_n ? hs_out :
- ~in0_n ? playerin_out :
- ~in1_n ? joystick_out :
- ~swrd_n ? switch_out :
- ~pokey_n ? pokey_out :
- 8'b0;
-
// we ignore the cpu, as pf ram is now dp and cpu has it's own port
// assign pf_sel = mob_n ? { s_8v, s_128h } : 2'b00;
@@ -732,209 +1015,27 @@ HJ7 HJ7(
assign pfa = { pfa7654, pfa3210 };
wire pf_ce;
- reg pf_ce_d;
wire [3:0] pf_ce4_n;
assign pf_ce = ~(s_1h & s_2h & s_4h & s_6mhz);
- always @(posedge s_12mhz)
- if (reset)
- pf_ce_d <= 0;
- else
- pf_ce_d <= pf_ce;
-
-// assign pf_ce4_n = { pf_ce_d, pf_ce_d, pf_ce_d, pf_ce_d };
assign pf_ce4_n = 4'b0;
-
+
pf_ram pf_ram(
- .clk_a(s_12mhz),
- .clk_b(s_12mhz),
- .reset(reset),
- //
- .addr_a({ab[9:6], ab[3:0]}),
- .din_a(db_out[7:0]),
- .dout_a(pf_out),
- .ce_a({pfrd3_n, pfrd2_n, pfrd1_n, pfrd0_n}),
- .we_a({pfwr3_n, pfwr2_n, pfwr1_n, pfwr0_n}),
- //
- .addr_b(pfa),
- .dout_b(pfd),
- .ce_b(pf_ce4_n)
- );
-
- // High Score Memory Circuitry
+ .clk_a(s_12mhz),
+ .clk_b(s_12mhz),
+ .reset(reset),
+ //
+ .addr_a({ab[9:6], ab[3:0]}),
+ .din_a(db_out[7:0]),
+ .dout_a(pf_out),
+ .ce_a({pfrd3_n, pfrd2_n, pfrd1_n, pfrd0_n}),
+ .we_a({pfwr3_n, pfwr2_n, pfwr1_n, pfwr0_n}),
+ //
+ .addr_b(pfa),
+ .dout_b(pfd),
+ .ce_b(pf_ce4_n)
+ );
- assign hs_addr_clk = ~(~ea_addr_n & ~write2_n);
- assign hs_ctrl_clk = ~(~ea_ctrl_n & ~write2_n);
- always @(posedge hs_addr_clk)
- hs_addr <= ab[5:0];
-
- always @(posedge hs_ctrl_clk)
- hs_ctrl <= db_out[3:0];
-/*
-spram #(
- .addr_width_g(6),
- .data_width_g(8))
-hs_ram(
- .address(hs_addr),
- .clock(hs_ctrl[0] & ~hs_ctrl[3]),
- .wren(~hs_ctrl[1] & hs_ctrl[2]),
- .data(hs_data),
- .q(hs_out)
- ); */
-assign hs_out = 8'b0;
- always @(posedge hs_addr_clk)
- hs_data <= db_out[7:0];
-
- // Joystick Circuitry
- wire js1_right, js1_left, js1_down, js1_up;
- wire js2_right, js2_left, js2_down, js2_up;
-
- assign js1_right = joystick_i[7];
- assign js1_left = joystick_i[6];
- assign js1_down = joystick_i[5];
- assign js1_up = joystick_i[4];
- assign js2_right = joystick_i[3];
- assign js2_left = joystick_i[2];
- assign js2_down = joystick_i[1];
- assign js2_up = joystick_i[0];
-
- assign joystick_out = ab[0] ?
- { js1_right, js1_left, js1_down, js1_up, js2_right, js2_left, js2_down, js2_up } :
- { dir2, 3'b0, trb };
-
- // Option Input Circuitry
-
- assign switch_out = ab[0] ?
- sw2_i :
- sw1_i;
-
- // Player Input Circuitry
- wire coin_r, coin_c, coin_l, self_test;
- wire cocktail, slam, start1, start2, fire2, fire1;
-
- assign coin_r = coin_ctr_r_drive ? coin_ctr_r_drive : playerinput_i[9];
- assign coin_c = coin_ctr_c_drive ? coin_ctr_c_drive : playerinput_i[8];
- assign coin_l = coin_ctr_l_drive ? coin_ctr_l_drive : playerinput_i[7];
- assign self_test = playerinput_i[6];
- assign cocktail = playerinput_i[5];
- assign slam = playerinput_i[4];
- assign start1 = playerinput_i[3];
- assign start2 = playerinput_i[2];
- assign fire2 = playerinput_i[1];
- assign fire1 = playerinput_i[0];
-
- wire [7:0] playerin_out0;
- wire [7:0] playerin_out1;
-
- assign playerin_out1 = { coin_r, coin_c, coin_l, slam, fire2, fire1, start1, start2 };
- assign playerin_out0 = { dir1, vblank, self_test, cocktail, tra };
-
- assign playerin_out = ab[0] ? playerin_out1 : playerin_out0;
-
- // Coin Counter Output
- reg [7:0] cc_latch;
-
- always @(posedge s_12mhz or posedge reset)
- if (reset)
- cc_latch <= 0;
- else if (s_6mhz_en)
- if (~out0_n)
- cc_latch[ ab[2:0] ] <= db_out[7];
-
- assign flip = cc_latch[7];
- assign led_o[4] = cc_latch[6];
- assign led_o[3] = cc_latch[5];
- assign led_o[2] = cc_latch[4];
- assign led_o[1] = cc_latch[3];
- assign coin_ctr_r_drive = cc_latch[2];
- assign coin_ctr_c_drive = cc_latch[1];
- assign coin_ctr_l_drive = cc_latch[1];
-
- // Mini-Trak Ball inputs
- wire [3:0] tb_mux;
- wire s_1_horiz_dir, s_1_horiz_ck, s_1_vert_dir, s_1_vert_ck;
- wire s_2_horiz_dir, s_2_horiz_ck, s_2_vert_dir, s_2_vert_ck;
- wire tb_h_dir, tb_h_ck, tb_v_dir, tb_v_ck;
- reg tb_h_reg, tb_v_reg;
- reg [3:0] tb_h_ctr, tb_v_ctr;
- wire tb_h_ctr_clr, tb_v_ctr_clr;
-
- assign s_1_horiz_dir = trakball_i[7];
- assign s_2_horiz_dir = trakball_i[6];
- assign s_1_horiz_ck = trakball_i[5];
- assign s_2_horiz_ck = trakball_i[4];
- assign s_1_vert_dir = trakball_i[3];
- assign s_2_vert_dir = trakball_i[2];
- assign s_1_vert_ck = trakball_i[1];
- assign s_2_vert_ck = trakball_i[0];
-
- assign tb_mux = flip ?
- { s_1_horiz_dir, s_1_horiz_ck, s_1_vert_dir, s_1_vert_ck } :
- { s_2_horiz_dir, s_2_horiz_ck, s_2_vert_dir, s_2_vert_ck };
-
- assign tb_h_dir = tb_mux[3];
- assign tb_h_ck = tb_mux[2];
- assign tb_v_dir = tb_mux[1];
- assign tb_v_ck = tb_mux[0];
-
- // H
- always @(posedge tb_h_ck or posedge reset)
- if (reset)
- tb_h_reg <= 0;
- else
- tb_h_reg <= tb_h_dir;
-
- assign tb_h_ctr_clr = reset | ~steerclr_n;
-
- always @(posedge tb_h_ck or posedge tb_h_ctr_clr)
- if (tb_h_ctr_clr)
- tb_h_ctr <= 0;
- else
- if (tb_h_reg)
- tb_h_ctr <= tb_h_ctr + 4'd1;
- else
- tb_h_ctr <= tb_h_ctr - 4'd1;
-
- // V
- always @(posedge tb_v_ck or posedge reset)
- if (reset)
- tb_v_reg <= 0;
- else
- tb_v_reg <= tb_v_dir;
-
- assign tb_v_ctr_clr = reset | ~steerclr_n;
-
- always @(posedge tb_v_ck or posedge tb_v_ctr_clr)
- if (tb_v_ctr_clr)
- tb_v_ctr <= 0;
- else
- if (tb_v_reg)
- tb_v_ctr <= tb_v_ctr + 4'd1;
- else
- tb_v_ctr <= tb_v_ctr - 4'd1;
-
- assign tra = tb_h_ctr;
- assign trb = tb_v_ctr;
- assign dir1 = tb_h_reg;
- assign dir2 = tb_v_reg;
-
-
- // Audio output circuitry
-
-
-POKEY POKEY(
- .Din(db_out[7:0]),
- .Dout(pokey_out),
- .A(ab[3:0]),
- .P(8'b0),
- .phi2(phi2),
- .readHighWriteLow(rw_n),
- .cs0Bar(pokey_n),
- .audio(audio),
- .clk(clk_100mhz)
- );
-
-
// Video output circuitry
// The video output circuit receives motion object, playfield, address and data inputs
@@ -955,7 +1056,7 @@ POKEY POKEY(
wire gry0_or_1;
assign gry0_or_1 = gry[1] | gry[0];
- assign rama_sel = { coloram_n, gry0_or_1 };
+ //assign rama_sel = { coloram_n, gry0_or_1 };
// assign rama =
// (rama_sel == 2'b00) ? { ab[3:0] } :
@@ -964,42 +1065,50 @@ POKEY POKEY(
// (rama_sel == 2'b11) ? { {gry0_or_1, 1'b1}, gry[1:0] } :
// 4'b0;
- assign rama = gry0_or_1 ?
- { {gry0_or_1, 1'b1}, gry[1:0] } :
- { {gry0_or_1, 1'b1}, area[1:0] };
+ wire [3:0] rama_centi = gry0_or_1 ?
+ { {gry0_or_1, 1'b1}, gry[1:0] } :
+ { {gry0_or_1, 1'b1}, area[1:0] };
-
-dpram #(
- .addr_width_g(4),
- .data_width_g(4))
-color_ram(
- .clk_a_i(s_12mhz),
- .clk_b_i(s_12mhz),
- .we_i(~coloram_w_n),
- .addr_a_i(ab[3:0]),
- .data_a_o(coloram_out),
- .data_a_i(db_out[3:0]),
- .addr_b_i(rama),
- .data_b_o(coloram_rgbi)
- );
+ wire rama_hi_sel = (gry0_or_1 & s_256h & s_256h2d);
+ wire [4:0] rama_milli = {rama_hi_sel, rama_hi_sel ? {mocb, gry} : {picD[7:6], area}};
- assign rgb_o =
- rgbi == 4'b0000 ? 9'b111_111_111 :
- rgbi == 4'b0001 ? 9'b111_111_011 :
- rgbi == 4'b0010 ? 9'b111_011_111 :
- rgbi == 4'b0011 ? 9'b111_011_011 :
- rgbi == 4'b0100 ? 9'b011_111_111 :
- rgbi == 4'b0101 ? 9'b011_111_011 :
- rgbi == 4'b0110 ? 9'b011_011_111 :
- rgbi == 4'b0111 ? 9'b011_011_011 :
- rgbi == 4'b1000 ? 9'b111_111_111 :
- rgbi == 4'b1001 ? 9'b111_111_000 :
- rgbi == 4'b1010 ? 9'b111_000_111 :
- rgbi == 4'b1011 ? 9'b111_000_000 :
- rgbi == 4'b1100 ? 9'b000_111_111 :
- rgbi == 4'b1101 ? 9'b000_111_000 :
- rgbi == 4'b1110 ? 9'b000_000_111 :
- rgbi == 4'b1111 ? 9'b000_000_000 :
+ wire [4:0] rama = milli ? rama_milli : {1'b0, rama_centi};
+ wire [4:0] cram_a = milli ? ab[4:0] : {1'b0, ab[3:0]};
+
+ dpram #(
+ .addr_width_g(5),
+ .data_width_g(8))
+ color_ram(
+ .clk_a_i(s_12mhz),
+ .clk_b_i(s_12mhz),
+ .we_i(~coloram_w_n),
+ .addr_a_i(cram_a),
+ .data_a_o(coloram_out),
+ .data_a_i(milli ? db_out : {db_out[3:0], db_out[3:0]}),
+ .addr_b_i(rama),
+ .data_b_o(coloram_rgbi)
+ );
+
+ assign rgb_o = milli ? rgb_o_milli : rgb_o_centi;
+
+ wire [8:0] rgb_o_milli = ~{ rgbi[2:0], rgbi[4:3], 1'b1, rgbi[7:5] };
+ wire [8:0] rgb_o_centi =
+ rgbi[3:0] == 4'b0000 ? 9'b111_111_111 :
+ rgbi[3:0] == 4'b0001 ? 9'b111_111_011 :
+ rgbi[3:0] == 4'b0010 ? 9'b111_011_111 :
+ rgbi[3:0] == 4'b0011 ? 9'b111_011_011 :
+ rgbi[3:0] == 4'b0100 ? 9'b011_111_111 :
+ rgbi[3:0] == 4'b0101 ? 9'b011_111_011 :
+ rgbi[3:0] == 4'b0110 ? 9'b011_011_111 :
+ rgbi[3:0] == 4'b0111 ? 9'b011_011_011 :
+ rgbi[3:0] == 4'b1000 ? 9'b111_111_111 :
+ rgbi[3:0] == 4'b1001 ? 9'b111_111_000 :
+ rgbi[3:0] == 4'b1010 ? 9'b111_000_111 :
+ rgbi[3:0] == 4'b1011 ? 9'b111_000_000 :
+ rgbi[3:0] == 4'b1100 ? 9'b000_111_111 :
+ rgbi[3:0] == 4'b1101 ? 9'b000_111_000 :
+ rgbi[3:0] == 4'b1110 ? 9'b000_000_111 :
+ rgbi[3:0] == 4'b1111 ? 9'b000_000_000 :
9'd0;
@@ -1008,6 +1117,38 @@ color_ram(
assign vsync_o = vsync;
assign audio_o = audio;
assign hblank_o = hblank;
- assign vblank_o = vblank;
+ assign vblank_o = vblankd;
+
+ // Audio output circuitry
+
+ wire [3:0] pokey_audio;
+ POKEY POKEY(
+ .Din(db_out[7:0]),
+ .Dout(pokey_out),
+ .A(ab[3:0]),
+ .P(8'b0),
+ .phi2(phi2),
+ .readHighWriteLow(rw_n),
+ .cs0Bar(pokey_n),
+ .audio(pokey_audio),
+ .clk(clk_100mhz)
+ );
+
+ POKEY POKEY2(
+ .Din(db_out[7:0]),
+ .Dout(pokey2_out),
+ .A(ab[3:0]),
+ .P(8'b0),
+ .phi2(phi2),
+ .readHighWriteLow(rw_n),
+ .cs0Bar(pokey2_n),
+ .audio(pokey2_audio),
+ .clk(clk_100mhz)
+ );
+ wire [3:0] pokey2_audio;
+ wire [4:0] pokey_mux = pokey_audio + pokey2_audio;
+
+ assign audio = milli ? (pokey_mux[4] ? 4'hf : pokey_mux[3:0]) : pokey_audio;
+
endmodule
diff --git a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/dpram.vhd b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/dpram.vhd
index d867b5d2..e42e9194 100644
--- a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/dpram.vhd
+++ b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/dpram.vhd
@@ -18,7 +18,9 @@ entity dpram is
data_a_i : in std_logic_vector(data_width_g-1 downto 0);
data_a_o : out std_logic_vector(data_width_g-1 downto 0);
clk_b_i : in std_logic;
+ we_b_i : in std_logic := '0';
addr_b_i : in std_logic_vector(addr_width_g-1 downto 0);
+ data_b_i : in std_logic_vector(data_width_g-1 downto 0);
data_b_o : out std_logic_vector(data_width_g-1 downto 0)
);
end entity;
@@ -52,6 +54,9 @@ begin
begin
if rising_edge(clk_b_i) then
read_addr_v := unsigned(addr_b_i);
+ if we_b_i = '1' then
+ ram_q(to_integer(read_addr_v)) <= data_b_i;
+ end if;
data_b_o <= ram_q(to_integer(read_addr_v));
end if;
end process mem_b;
diff --git a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/pf_ram.v b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/pf_ram.v
index aac899ac..c774f7bb 100644
--- a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/pf_ram.v
+++ b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/pf_ram.v
@@ -27,12 +27,12 @@ dpram #(
.addr_width_g(8),
.data_width_g(8))
ram0(
- .clk_a_i(clk_a & ~ce_a[0]),
+ .clk_a_i(clk_a),
.we_i(~we_a[0]),
.addr_a_i(addr_a),
.data_a_i(din_a),
.data_a_o(d_a0),
- .clk_b_i(clk_b & ~ce_b[0]),
+ .clk_b_i(clk_b),
.addr_b_i(addr_b),
.data_b_o(d_b0)
);
@@ -41,12 +41,12 @@ dpram #(
.addr_width_g(8),
.data_width_g(8))
ram1(
- .clk_a_i(clk_a & ~ce_a[1]),
+ .clk_a_i(clk_a),
.we_i(~we_a[1]),
.addr_a_i(addr_a),
.data_a_i(din_a),
.data_a_o(d_a1),
- .clk_b_i(clk_b & ~ce_b[1]),
+ .clk_b_i(clk_b),
.addr_b_i(addr_b),
.data_b_o(d_b1)
);
@@ -55,12 +55,12 @@ dpram #(
.addr_width_g(8),
.data_width_g(8))
ram2(
- .clk_a_i(clk_a & ~ce_a[2]),
+ .clk_a_i(clk_a),
.we_i(~we_a[2]),
.addr_a_i(addr_a),
.data_a_i(din_a),
.data_a_o(d_a2),
- .clk_b_i(clk_b & ~ce_b[2]),
+ .clk_b_i(clk_b),
.addr_b_i(addr_b),
.data_b_o(d_b2)
);
@@ -69,12 +69,12 @@ dpram #(
.addr_width_g(8),
.data_width_g(8))
ram3(
- .clk_a_i(clk_a & ~ce_a[3]),
+ .clk_a_i(clk_a),
.we_i(~we_a[3]),
.addr_a_i(addr_a),
.data_a_i(din_a),
.data_a_o(d_a3),
- .clk_b_i(clk_b & ~ce_b[3]),
+ .clk_b_i(clk_b),
.addr_b_i(addr_b),
.data_b_o(d_b3)
);
diff --git a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/roms/F7.vhd b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/roms/F7.vhd
deleted file mode 100644
index 0af1e96f..00000000
--- a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/roms/F7.vhd
+++ /dev/null
@@ -1,150 +0,0 @@
-library ieee;
-use ieee.std_logic_1164.all,ieee.numeric_std.all;
-
-entity F7 is
-port (
- clk : in std_logic;
- addr : in std_logic_vector(10 downto 0);
- data : out std_logic_vector(7 downto 0)
-);
-end entity;
-
-architecture prom of F7 is
- type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
- signal rom_data: rom := (
- X"00",X"00",X"00",X"00",X"3C",X"18",X"18",X"FF",X"7E",X"3C",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"3C",X"18",X"18",X"7E",X"7E",X"BD",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"3C",X"18",X"18",X"FF",X"7E",X"3C",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"3C",X"99",X"18",X"7E",X"7E",X"3C",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"0A",X"4C",X"3E",X"3E",X"FE",X"7C",X"B8",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"0A",X"4C",X"3E",X"3E",X"FE",X"7C",X"B8",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"10",X"18",X"9C",X"FE",X"FE",X"9C",X"18",X"10",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"10",X"18",X"9C",X"FE",X"FE",X"9C",X"18",X"10",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"18",X"30",X"F2",X"FF",X"F2",X"30",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"44",X"22",X"11",X"22",X"44",X"68",X"A0",X"3C",X"A0",X"68",X"44",X"22",X"11",X"22",X"44",X"00",
- X"90",X"48",X"24",X"24",X"44",X"68",X"E0",X"3C",X"A0",X"68",X"44",X"24",X"24",X"48",X"90",X"00",
- X"90",X"48",X"24",X"24",X"44",X"68",X"A0",X"3C",X"A0",X"68",X"44",X"24",X"24",X"48",X"90",X"00",
- X"10",X"88",X"44",X"33",X"44",X"68",X"E0",X"3C",X"A0",X"68",X"44",X"33",X"44",X"88",X"10",X"00",
- X"00",X"00",X"00",X"18",X"18",X"98",X"7F",X"8F",X"7F",X"1E",X"7C",X"B8",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"18",X"18",X"18",X"6F",X"9F",X"2F",X"5E",X"BC",X"78",X"00",X"00",X"00",X"00",
- X"22",X"55",X"BE",X"74",X"02",X"61",X"C2",X"74",X"36",X"43",X"E0",X"40",X"36",X"7D",X"AE",X"44",
- X"14",X"94",X"42",X"F1",X"42",X"94",X"34",X"3C",X"3C",X"34",X"94",X"42",X"F1",X"42",X"94",X"14",
- X"00",X"24",X"4A",X"34",X"34",X"0C",X"3E",X"75",X"6D",X"2A",X"1C",X"34",X"34",X"4A",X"24",X"00",
- X"00",X"00",X"00",X"00",X"10",X"00",X"3C",X"1C",X"1C",X"1E",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"80",X"98",X"50",X"34",X"3C",X"3C",X"3C",X"3F",X"3E",X"3C",X"7C",X"BC",X"3C",X"7C",X"B8",X"98",
- X"00",X"86",X"FC",X"05",X"0F",X"0F",X"0F",X"7F",X"8F",X"8F",X"0F",X"1F",X"EF",X"8F",X"0E",X"06",
- X"01",X"06",X"0D",X"08",X"08",X"7C",X"FF",X"FC",X"F8",X"C8",X"CD",X"C6",X"C1",X"CC",X"E4",X"7C",
- X"01",X"06",X"0D",X"08",X"7C",X"FF",X"FC",X"C8",X"CD",X"C6",X"E1",X"60",X"30",X"18",X"44",X"3C",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"F8",X"88",X"F8",X"00",X"F8",X"88",X"F8",X"00",X"F8",X"A8",X"A8",X"00",X"00",
- X"00",X"00",X"00",X"F8",X"88",X"F8",X"00",X"F8",X"88",X"F8",X"00",X"E8",X"A8",X"F8",X"00",X"00",
- X"00",X"00",X"00",X"00",X"08",X"B1",X"42",X"81",X"02",X"00",X"29",X"50",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"59",X"96",X"01",X"83",X"82",X"84",X"EA",X"31",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"7C",X"FE",X"7F",X"3E",X"7F",X"FE",X"7C",X"7E",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3C",X"42",X"81",X"81",X"81",X"81",X"42",X"3C",
- X"3C",X"42",X"81",X"81",X"81",X"81",X"42",X"3C",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"18",X"30",X"F2",X"FF",X"F2",X"30",X"18",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"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"06",X"0F",X"03",X"0F",X"07",X"0E",X"0C",X"1C",X"0E",X"3F",X"0F",X"1F",X"0F",X"1E",X"0C",
- X"1C",X"0E",X"3F",X"7F",X"3F",X"3F",X"1E",X"1C",X"1C",X"1E",X"FF",X"FF",X"FF",X"FF",X"1E",X"1C",
- X"00",X"04",X"0E",X"02",X"0E",X"06",X"0C",X"00",X"00",X"0C",X"0E",X"0E",X"0E",X"0E",X"0C",X"00",
- X"00",X"0C",X"0E",X"6E",X"2E",X"0E",X"0C",X"00",X"00",X"0C",X"0E",X"6E",X"6E",X"0E",X"0C",X"00",
- X"00",X"00",X"00",X"00",X"3C",X"18",X"18",X"7E",X"FF",X"3C",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"3C",X"18",X"18",X"7E",X"FF",X"3C",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"3C",X"18",X"99",X"7E",X"7E",X"3C",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"3C",X"18",X"99",X"7E",X"7E",X"3C",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"08",X"4D",X"3E",X"3E",X"FE",X"7C",X"38",X"40",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"08",X"4D",X"3E",X"3E",X"FE",X"7C",X"38",X"40",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"04",X"18",X"9C",X"FE",X"FE",X"9C",X"18",X"04",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"40",X"18",X"9C",X"FE",X"FE",X"9C",X"18",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"44",X"22",X"22",X"22",X"44",X"68",X"A0",X"3C",X"E0",X"68",X"44",X"22",X"22",X"22",X"44",X"00",
- X"40",X"20",X"90",X"88",X"68",X"68",X"E0",X"3C",X"E0",X"68",X"68",X"88",X"90",X"20",X"40",X"00",
- X"44",X"22",X"22",X"22",X"44",X"68",X"A0",X"3C",X"E0",X"68",X"44",X"22",X"22",X"22",X"44",X"00",
- X"20",X"10",X"88",X"64",X"47",X"68",X"E0",X"3C",X"E0",X"68",X"47",X"64",X"88",X"10",X"20",X"00",
- X"00",X"00",X"00",X"18",X"18",X"D8",X"2F",X"9F",X"4F",X"3E",X"BC",X"78",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"18",X"18",X"18",X"7F",X"8F",X"3F",X"DE",X"3C",X"F8",X"00",X"00",X"00",X"00",
- X"34",X"42",X"E9",X"42",X"34",X"1C",X"36",X"43",X"E9",X"42",X"34",X"34",X"42",X"E9",X"42",X"34",
- X"28",X"66",X"DA",X"5D",X"BE",X"4C",X"7B",X"36",X"36",X"7B",X"4E",X"BE",X"1D",X"DA",X"66",X"14",
- X"00",X"00",X"08",X"10",X"1C",X"3E",X"31",X"74",X"2E",X"1C",X"7C",X"38",X"08",X"10",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"08",X"30",X"38",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"8C",X"68",X"1A",X"1E",X"1E",X"1E",X"1F",X"7E",X"9E",X"9E",X"1E",X"FE",X"9E",X"9C",X"8C",
- X"80",X"B0",X"A0",X"68",X"78",X"78",X"78",X"7E",X"7A",X"7A",X"FC",X"78",X"78",X"F8",X"F8",X"B0",
- X"01",X"06",X"0D",X"18",X"10",X"7C",X"FF",X"FC",X"D0",X"D8",X"CD",X"C6",X"E1",X"7C",X"04",X"0C",
- X"01",X"06",X"0D",X"08",X"7C",X"FF",X"FC",X"C8",X"CD",X"C6",X"C1",X"CC",X"D2",X"C4",X"CC",X"78",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"F8",X"88",X"F8",X"00",X"F8",X"88",X"F8",X"00",X"F8",X"A8",X"B8",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"14",X"E5",X"02",X"A2",X"85",X"20",X"63",X"04",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"36",X"DD",X"CF",X"67",X"46",X"FF",X"6E",X"A8",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"20",X"7E",X"FE",X"6C",X"3E",X"7C",X"78",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",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/Atari Centipede Hardware/Centipede_MiST/rtl/roms/HJ7.vhd b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/roms/HJ7.vhd
deleted file mode 100644
index 3223a70a..00000000
--- a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/roms/HJ7.vhd
+++ /dev/null
@@ -1,150 +0,0 @@
-library ieee;
-use ieee.std_logic_1164.all,ieee.numeric_std.all;
-
-entity HJ7 is
-port (
- clk : in std_logic;
- addr : in std_logic_vector(10 downto 0);
- data : out std_logic_vector(7 downto 0)
-);
-end entity;
-
-architecture prom of HJ7 is
- type rom is array(0 to 2047) of std_logic_vector(7 downto 0);
- signal rom_data: rom := (
- X"00",X"00",X"00",X"00",X"3C",X"7E",X"7E",X"7E",X"7E",X"3C",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"3C",X"7E",X"7E",X"7E",X"7E",X"3C",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"3C",X"7E",X"7E",X"7E",X"7E",X"3C",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"3C",X"7E",X"7E",X"7E",X"7E",X"3C",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"38",X"7C",X"FE",X"FE",X"FE",X"7C",X"38",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"38",X"7C",X"FE",X"FE",X"FE",X"7C",X"38",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"78",X"FC",X"FE",X"FE",X"FC",X"78",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"78",X"FC",X"FE",X"FE",X"FC",X"78",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"0C",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"70",X"F8",X"FC",X"F8",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"70",X"F8",X"FC",X"F8",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"70",X"F8",X"FC",X"F8",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"70",X"F8",X"FC",X"F8",X"70",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"04",X"86",X"70",X"80",X"70",X"00",X"40",X"80",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"04",X"06",X"60",X"90",X"20",X"40",X"80",X"40",X"00",X"00",X"00",X"00",
- X"22",X"77",X"EA",X"7C",X"3E",X"7F",X"BE",X"7C",X"3E",X"7F",X"BE",X"7C",X"1E",X"7F",X"EA",X"44",
- X"5C",X"EC",X"7E",X"FF",X"7E",X"EC",X"5E",X"3B",X"3B",X"5E",X"EC",X"7E",X"FF",X"7E",X"EC",X"5C",
- X"00",X"24",X"76",X"2C",X"3C",X"14",X"2E",X"5F",X"73",X"3E",X"04",X"3C",X"2C",X"76",X"24",X"00",
- X"00",X"00",X"00",X"00",X"18",X"08",X"2C",X"12",X"24",X"1A",X"01",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"18",X"1C",X"1C",X"0C",X"3C",X"3C",X"18",X"2C",X"18",X"34",X"2C",X"1C",X"3C",X"38",X"18",
- X"00",X"06",X"07",X"07",X"0F",X"0F",X"0F",X"04",X"0D",X"0B",X"07",X"0F",X"0F",X"0F",X"0E",X"06",
- X"00",X"00",X"00",X"00",X"02",X"03",X"00",X"03",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"02",X"03",X"00",X"03",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"4A",X"00",X"42",X"01",X"80",X"02",X"89",X"52",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"9D",X"B4",X"49",X"A6",X"C2",X"A1",X"6A",X"45",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"FE",X"7F",X"E7",X"67",X"FE",X"7F",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"F8",X"FC",X"26",X"22",X"26",X"FC",X"F8",X"00",
- X"FE",X"FE",X"92",X"92",X"92",X"FE",X"6C",X"00",X"38",X"7C",X"C6",X"82",X"82",X"C6",X"44",X"00",
- X"FE",X"FE",X"82",X"82",X"C6",X"7C",X"38",X"00",X"FE",X"FE",X"92",X"92",X"92",X"82",X"80",X"00",
- X"FE",X"FE",X"12",X"12",X"12",X"12",X"02",X"00",X"38",X"7C",X"C6",X"82",X"92",X"F2",X"F2",X"00",
- X"FE",X"FE",X"10",X"10",X"10",X"FE",X"FE",X"00",X"82",X"82",X"FE",X"FE",X"82",X"82",X"00",X"00",
- X"40",X"C0",X"80",X"80",X"80",X"FE",X"7E",X"00",X"FE",X"FE",X"30",X"78",X"EC",X"C6",X"82",X"00",
- X"FE",X"FE",X"80",X"80",X"80",X"80",X"80",X"00",X"FE",X"FE",X"1C",X"38",X"1C",X"FE",X"FE",X"00",
- X"FE",X"FE",X"1C",X"38",X"70",X"FE",X"FE",X"00",X"7C",X"FE",X"82",X"82",X"82",X"FE",X"7C",X"00",
- X"FE",X"FE",X"22",X"22",X"22",X"3E",X"1C",X"00",X"7C",X"FE",X"82",X"A2",X"E2",X"7E",X"BC",X"00",
- X"FE",X"FE",X"22",X"62",X"F2",X"DE",X"8C",X"00",X"4C",X"DE",X"92",X"92",X"96",X"F4",X"60",X"00",
- X"02",X"02",X"FE",X"FE",X"02",X"02",X"00",X"00",X"7E",X"FE",X"80",X"80",X"80",X"FE",X"7E",X"00",
- X"1E",X"3E",X"70",X"E0",X"70",X"3E",X"1E",X"00",X"FE",X"FE",X"70",X"38",X"70",X"FE",X"FE",X"00",
- X"C6",X"EE",X"7C",X"38",X"7C",X"EE",X"C6",X"00",X"0E",X"1E",X"F0",X"F0",X"1E",X"0E",X"00",X"00",
- X"C2",X"E2",X"F2",X"BA",X"9E",X"8E",X"86",X"00",X"3C",X"42",X"BD",X"C3",X"C3",X"A5",X"42",X"3C",
- X"3C",X"42",X"FD",X"93",X"93",X"8D",X"42",X"3C",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"2E",X"10",X"08",X"94",X"CA",X"A8",X"90",X"00",X"18",X"3C",X"FE",X"FF",X"FE",X"3C",X"18",X"00",
- X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"80",X"84",X"FE",X"FE",X"80",X"80",X"00",X"00",
- X"C4",X"E6",X"F2",X"B2",X"BA",X"9E",X"8C",X"00",X"40",X"C2",X"92",X"9A",X"9E",X"F6",X"62",X"00",
- X"30",X"38",X"2C",X"26",X"FE",X"FE",X"20",X"00",X"4E",X"CE",X"8A",X"8A",X"8A",X"FA",X"70",X"00",
- X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",X"00",X"06",X"06",X"E2",X"F2",X"1A",X"0E",X"06",X"00",
- X"6C",X"9E",X"9A",X"B2",X"B2",X"EC",X"60",X"00",X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"FF",X"FF",X"FF",X"FF",X"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"66",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"04",X"0E",X"02",X"0E",X"06",X"0C",X"00",X"00",X"0C",X"0E",X"0E",X"0E",X"0E",X"0C",X"00",
- X"00",X"0C",X"0E",X"6E",X"2E",X"0E",X"0C",X"00",X"00",X"0C",X"0E",X"6E",X"6E",X"0E",X"0C",X"00",
- X"0C",X"02",X"01",X"01",X"01",X"01",X"02",X"0C",X"1C",X"02",X"31",X"01",X"11",X"01",X"12",X"0C",
- X"1C",X"02",X"31",X"11",X"11",X"31",X"12",X"1C",X"1C",X"12",X"F1",X"91",X"91",X"F1",X"12",X"1C",
- X"00",X"00",X"00",X"00",X"3C",X"7E",X"7E",X"7E",X"7E",X"3C",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"3C",X"7E",X"7E",X"7E",X"7E",X"3C",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"3C",X"7E",X"7E",X"7E",X"7E",X"3C",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"3C",X"7E",X"7E",X"7E",X"7E",X"3C",X"18",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"38",X"7C",X"FE",X"FE",X"FE",X"7C",X"38",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"38",X"7C",X"FE",X"FE",X"FE",X"7C",X"38",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"78",X"FC",X"FE",X"FE",X"FC",X"78",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"78",X"FC",X"FE",X"FE",X"FC",X"78",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FC",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"70",X"F8",X"FC",X"F8",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"70",X"F8",X"FC",X"F8",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"70",X"F8",X"FC",X"F8",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"70",X"F8",X"FC",X"F8",X"70",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"04",X"C6",X"20",X"90",X"40",X"20",X"80",X"40",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"04",X"06",X"70",X"80",X"30",X"C0",X"00",X"C0",X"00",X"00",X"00",X"00",
- X"3C",X"7E",X"F7",X"7E",X"3C",X"1C",X"3E",X"7F",X"F7",X"7E",X"3C",X"3C",X"7E",X"F7",X"7E",X"3C",
- X"28",X"7E",X"FE",X"37",X"EA",X"74",X"5F",X"6E",X"6E",X"5F",X"74",X"EA",X"37",X"FE",X"7E",X"14",
- X"00",X"00",X"18",X"18",X"34",X"52",X"34",X"4A",X"52",X"2C",X"4A",X"2C",X"18",X"18",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"10",X"38",X"30",X"28",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"0C",X"0E",X"06",X"1E",X"1E",X"1E",X"08",X"0C",X"1A",X"16",X"0E",X"1E",X"1E",X"1C",X"0C",
- X"00",X"30",X"38",X"38",X"58",X"78",X"58",X"50",X"58",X"38",X"78",X"70",X"68",X"18",X"78",X"30",
- X"00",X"00",X"00",X"00",X"02",X"03",X"00",X"03",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"02",X"03",X"00",X"03",X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"54",X"CB",X"50",X"A2",X"05",X"B2",X"4B",X"10",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"7E",X"7D",X"E6",X"63",X"67",X"FB",X"6E",X"2A",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"18",X"BC",X"7F",X"EF",X"7E",X"FD",X"14",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"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",
- X"00",X"00",X"00",X"00",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/Atari Centipede Hardware/Centipede_MiST/rtl/roms/P4.vhd b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/roms/P4.vhd
deleted file mode 100644
index 06353288..00000000
--- a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/roms/P4.vhd
+++ /dev/null
@@ -1,38 +0,0 @@
-library ieee;
-use ieee.std_logic_1164.all,ieee.numeric_std.all;
-
-entity P4 is
-port (
- clk : in std_logic;
- addr : in std_logic_vector(7 downto 0);
- data : out std_logic_vector(3 downto 0)
-);
-end entity;
-
-architecture prom of P4 is
- type rom is array(0 to 255) of std_logic_vector(3 downto 0);
- signal rom_data: rom := (
- "0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000",
- "0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000",
- "0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000",
- "0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000",
- "0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000",
- "0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000",
- "0000","0000","0000","0000","0000","0000","0000","0000","0010","0010","0010","0010","0010","0010","0010","0010",
- "0010","0010","0010","0010","0010","0010","0010","0010","0010","0010","0010","0010","0010","0010","0010","1010",
- "1010","1010","1010","1010","1010","1110","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000",
- "0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000",
- "0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000",
- "0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000",
- "0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000",
- "0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000","0000",
- "1010","1010","1010","1010","1010","1010","1010","1010","1010","1010","1010","1010","1010","1010","1010","1010",
- "1010","1010","1011","1011","1011","1010","1010","1010","1010","1010","1010","1010","1010","1010","1010","1010");
-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/Atari Centipede Hardware/Centipede_MiST/rtl/roms/PROG.vhd b/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/roms/PROG.vhd
deleted file mode 100644
index 902078c2..00000000
--- a/Arcade_MiST/Atari Centipede Hardware/Centipede_MiST/rtl/roms/PROG.vhd
+++ /dev/null
@@ -1,534 +0,0 @@
-library ieee;
-use ieee.std_logic_1164.all,ieee.numeric_std.all;
-
-entity PROG 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 PROG is
- type rom is array(0 to 8191) of std_logic_vector(7 downto 0);
- signal rom_data: rom := (
- X"4C",X"4B",X"3B",X"1B",X"31",X"39",X"38",X"30",X"20",X"41",X"54",X"41",X"52",X"C9",X"20",X"76",
- X"28",X"58",X"20",X"60",X"2D",X"46",X"8A",X"90",X"FC",X"8D",X"00",X"20",X"AD",X"00",X"0C",X"29",
- X"20",X"F0",X"FE",X"20",X"66",X"25",X"20",X"79",X"30",X"20",X"45",X"27",X"10",X"E7",X"20",X"07",
- X"3B",X"20",X"19",X"21",X"20",X"27",X"33",X"20",X"55",X"29",X"20",X"01",X"27",X"20",X"D2",X"2A",
- X"20",X"02",X"22",X"20",X"D7",X"2E",X"20",X"DD",X"2B",X"20",X"1C",X"2E",X"20",X"59",X"20",X"20",
- X"DA",X"23",X"20",X"F3",X"2C",X"4C",X"15",X"20",X"55",X"A5",X"43",X"29",X"AF",X"D0",X"08",X"A5",
- X"40",X"45",X"EF",X"C9",X"20",X"90",X"01",X"60",X"A5",X"70",X"45",X"F0",X"C9",X"F8",X"90",X"20",
- X"A6",X"88",X"B5",X"9A",X"C9",X"0C",X"B0",X"6B",X"B5",X"AB",X"C9",X"02",X"A0",X"05",X"90",X"02",
- X"A0",X"09",X"C9",X"12",X"90",X"05",X"4A",X"18",X"69",X"06",X"A8",X"98",X"D5",X"D7",X"90",X"53",
- X"A5",X"00",X"29",X"03",X"D0",X"0F",X"E6",X"40",X"A5",X"40",X"18",X"69",X"01",X"29",X"03",X"09",
- X"1C",X"45",X"EF",X"85",X"40",X"A5",X"60",X"85",X"8B",X"A5",X"70",X"A4",X"EF",X"F0",X"06",X"18",
- X"65",X"80",X"4C",X"B8",X"20",X"38",X"E5",X"80",X"85",X"70",X"45",X"F0",X"C9",X"04",X"90",X"24",
- X"A2",X"0C",X"20",X"9A",X"2C",X"90",X"1C",X"A5",X"00",X"29",X"03",X"D0",X"16",X"AD",X"0A",X"10",
- X"29",X"03",X"D0",X"0F",X"A9",X"04",X"45",X"F3",X"18",X"65",X"70",X"A0",X"00",X"20",X"2F",X"2C",
- X"20",X"AC",X"2B",X"60",X"20",X"E8",X"20",X"60",X"A9",X"1C",X"45",X"EF",X"85",X"40",X"A9",X"F8",
- X"45",X"F0",X"85",X"70",X"AD",X"0A",X"10",X"29",X"F8",X"F0",X"F9",X"C9",X"10",X"90",X"F5",X"38",
- X"E9",X"04",X"85",X"60",X"A0",X"03",X"A6",X"88",X"B5",X"AB",X"C9",X"06",X"B0",X"02",X"A0",X"02",
- X"84",X"80",X"A9",X"00",X"85",X"50",X"85",X"B8",X"60",X"A5",X"86",X"10",X"6F",X"20",X"95",X"21",
- X"A9",X"03",X"85",X"93",X"A9",X"20",X"85",X"94",X"A9",X"40",X"85",X"91",X"A9",X"05",X"85",X"92",
- X"20",X"74",X"38",X"A5",X"00",X"D0",X"05",X"A9",X"84",X"20",X"24",X"38",X"A5",X"00",X"AE",X"00",
- X"06",X"86",X"FF",X"29",X"80",X"D0",X"45",X"A5",X"43",X"29",X"AF",X"D0",X"30",X"A5",X"63",X"A0",
- X"01",X"C9",X"1C",X"90",X"08",X"A0",X"FF",X"C9",X"E4",X"B0",X"02",X"A4",X"53",X"98",X"84",X"53",
- X"18",X"20",X"EF",X"2A",X"A5",X"73",X"85",X"8D",X"A0",X"FF",X"C9",X"30",X"B0",X"08",X"A0",X"01",
- X"C9",X"09",X"90",X"02",X"A4",X"83",X"98",X"84",X"83",X"18",X"20",X"28",X"2B",X"20",X"64",X"2B",
- X"A2",X"13",X"A9",X"AB",X"5D",X"20",X"21",X"CA",X"10",X"FA",X"85",X"FE",X"60",X"02",X"BB",X"5A",
- X"30",X"5F",X"EE",X"7D",X"A8",X"20",X"B3",X"21",X"85",X"AE",X"B9",X"C0",X"21",X"85",X"B0",X"A9",
- X"06",X"20",X"24",X"38",X"A5",X"B0",X"20",X"AB",X"38",X"A5",X"AE",X"20",X"9E",X"38",X"A9",X"00",
- X"4C",X"9E",X"38",X"A5",X"FD",X"29",X"30",X"4A",X"4A",X"4A",X"A8",X"B9",X"BF",X"21",X"60",X"00",
- X"01",X"20",X"01",X"50",X"01",X"00",X"02",X"A6",X"88",X"A0",X"02",X"B5",X"AB",X"D0",X"0C",X"A5",
- X"FD",X"29",X"40",X"09",X"10",X"D5",X"A9",X"90",X"02",X"A0",X"01",X"84",X"81",X"AD",X"0A",X"10",
- X"29",X"04",X"F0",X"05",X"98",X"20",X"7C",X"38",X"A8",X"84",X"51",X"A9",X"60",X"45",X"F0",X"85",
- X"71",X"A9",X"FF",X"85",X"61",X"A9",X"F8",X"85",X"41",X"A9",X"60",X"85",X"A1",X"A9",X"00",X"85",
- X"B5",X"60",X"A5",X"43",X"29",X"AF",X"F0",X"01",X"60",X"A2",X"0D",X"A5",X"41",X"A8",X"29",X"20",
- X"F0",X"07",X"C0",X"F8",X"90",X"F2",X"4C",X"FA",X"22",X"A5",X"00",X"29",X"03",X"D0",X"10",X"E6",
- X"41",X"A5",X"41",X"45",X"F2",X"C9",X"1C",X"90",X"06",X"A9",X"14",X"45",X"F2",X"85",X"41",X"C6",
- X"A1",X"D0",X"35",X"AD",X"0A",X"10",X"29",X"80",X"F0",X"18",X"A5",X"51",X"F0",X"10",X"A4",X"61",
- X"C0",X"FB",X"B0",X"0E",X"C0",X"05",X"90",X"0A",X"85",X"BE",X"A9",X"00",X"F0",X"02",X"A5",X"BE",
- X"85",X"51",X"A5",X"FD",X"29",X"40",X"09",X"20",X"2D",X"0A",X"10",X"F0",X"07",X"A5",X"81",X"20",
- X"7C",X"38",X"85",X"81",X"A9",X"30",X"85",X"A1",X"A5",X"61",X"38",X"E5",X"51",X"85",X"61",X"85",
- X"8B",X"A5",X"71",X"A4",X"EF",X"F0",X"06",X"18",X"65",X"81",X"4C",X"80",X"22",X"38",X"E5",X"81",
- X"85",X"71",X"A0",X"00",X"20",X"2F",X"2C",X"F0",X"13",X"A0",X"00",X"B1",X"32",X"29",X"3F",X"C9",
- X"38",X"90",X"09",X"A9",X"00",X"91",X"32",X"20",X"95",X"2B",X"A2",X"0D",X"A5",X"61",X"C9",X"FF",
- X"B0",X"54",X"A5",X"71",X"45",X"F0",X"C9",X"09",X"B0",X"06",X"A5",X"81",X"10",X"3D",X"30",X"32",
- X"A6",X"88",X"B5",X"AB",X"F8",X"38",X"E9",X"06",X"D8",X"10",X"02",X"A9",X"00",X"4A",X"C9",X"06",
- X"90",X"02",X"A9",X"05",X"0A",X"0A",X"0A",X"85",X"8D",X"A9",X"60",X"45",X"F0",X"38",X"E5",X"8D",
- X"A6",X"EF",X"F0",X"06",X"C5",X"71",X"90",X"0A",X"B0",X"04",X"C5",X"71",X"B0",X"04",X"A5",X"81",
- X"30",X"09",X"A2",X"0D",X"20",X"6F",X"2C",X"90",X"07",X"A5",X"81",X"20",X"7C",X"38",X"85",X"81",
- X"A2",X"0D",X"20",X"9A",X"2C",X"60",X"20",X"C7",X"21",X"60",X"C6",X"A1",X"D0",X"11",X"AD",X"0A",
- X"10",X"29",X"2F",X"09",X"0F",X"85",X"A1",X"A9",X"14",X"85",X"B5",X"45",X"F2",X"85",X"41",X"60",
- X"B5",X"54",X"85",X"8B",X"A0",X"FF",X"B5",X"44",X"30",X"02",X"A0",X"01",X"B5",X"64",X"60",X"A6",
- X"88",X"B5",X"94",X"D0",X"20",X"B5",X"C2",X"09",X"80",X"95",X"C2",X"B5",X"9C",X"C9",X"03",X"90",
- X"14",X"D6",X"9A",X"D0",X"04",X"A9",X"0C",X"95",X"9A",X"A9",X"02",X"B4",X"AB",X"C0",X"04",X"B0",
- X"02",X"A9",X"01",X"95",X"9C",X"A9",X"03",X"85",X"34",X"B5",X"9C",X"85",X"74",X"A8",X"A5",X"00",
- X"29",X"02",X"D0",X"05",X"98",X"20",X"7C",X"38",X"A8",X"84",X"44",X"A9",X"F8",X"45",X"F0",X"85",
- X"64",X"A9",X"80",X"85",X"54",X"B5",X"9A",X"85",X"8B",X"C9",X"01",X"F0",X"35",X"A0",X"42",X"A2",
- X"01",X"94",X"34",X"A9",X"F8",X"45",X"F0",X"95",X"64",X"B5",X"73",X"95",X"74",X"B5",X"43",X"95",
- X"44",X"10",X"04",X"A9",X"08",X"D0",X"02",X"A9",X"F8",X"18",X"75",X"53",X"95",X"54",X"88",X"C0",
- X"3F",X"D0",X"02",X"A0",X"47",X"E8",X"E4",X"8B",X"90",X"D7",X"A6",X"88",X"B5",X"9A",X"C9",X"0C",
- X"F0",X"2D",X"A9",X"F8",X"45",X"F0",X"A6",X"8B",X"95",X"64",X"A9",X"00",X"95",X"34",X"A9",X"02",
- X"A4",X"F4",X"F0",X"01",X"98",X"95",X"74",X"2C",X"0A",X"10",X"10",X"03",X"20",X"7C",X"38",X"95",
- X"44",X"AD",X"0A",X"10",X"29",X"F8",X"95",X"54",X"B5",X"64",X"E8",X"E0",X"0C",X"90",X"D9",X"A9",
- X"0C",X"A6",X"88",X"95",X"94",X"A5",X"FE",X"85",X"97",X"60",X"A5",X"86",X"30",X"38",X"AD",X"01",
- X"08",X"29",X"1C",X"F0",X"31",X"A5",X"AB",X"05",X"AD",X"F0",X"1B",X"C6",X"A9",X"D0",X"27",X"A9",
- X"3C",X"85",X"A9",X"F8",X"A5",X"AB",X"38",X"E9",X"01",X"D8",X"85",X"AB",X"10",X"18",X"C6",X"AD",
- X"A9",X"59",X"85",X"AB",X"D0",X"10",X"A9",X"00",X"85",X"A5",X"20",X"BC",X"26",X"A5",X"43",X"29",
- X"AF",X"D0",X"03",X"20",X"C8",X"2C",X"A5",X"87",X"D0",X"01",X"60",X"A5",X"DB",X"D0",X"FB",X"C6",
- X"87",X"D0",X"F7",X"A5",X"D6",X"F0",X"0F",X"A9",X"80",X"20",X"24",X"38",X"A9",X"00",X"A8",X"91",
- X"91",X"85",X"D6",X"4C",X"36",X"29",X"A5",X"43",X"29",X"AF",X"D0",X"03",X"4C",X"41",X"25",X"20",
- X"36",X"29",X"A5",X"86",X"10",X"11",X"A5",X"01",X"10",X"0A",X"29",X"7F",X"85",X"01",X"20",X"FE",
- X"31",X"20",X"60",X"2D",X"4C",X"3B",X"25",X"A5",X"A5",X"05",X"A6",X"D0",X"46",X"C6",X"86",X"20",
- X"67",X"32",X"A5",X"EF",X"F0",X"18",X"A5",X"C2",X"10",X"14",X"A9",X"80",X"85",X"EE",X"20",X"45",
- X"25",X"20",X"36",X"29",X"20",X"FE",X"31",X"A5",X"C1",X"10",X"03",X"20",X"60",X"2D",X"20",X"C7",
- X"21",X"20",X"1F",X"23",X"20",X"E8",X"20",X"A9",X"01",X"85",X"00",X"A9",X"04",X"20",X"24",X"38",
- X"A6",X"89",X"A9",X"FF",X"9D",X"02",X"1C",X"20",X"4F",X"3A",X"A9",X"3D",X"85",X"F9",X"A9",X"00",
- X"85",X"FA",X"60",X"A6",X"89",X"CA",X"D0",X"03",X"4C",X"34",X"25",X"A6",X"88",X"B5",X"A4",X"D0",
- X"24",X"A5",X"A7",X"D0",X"1E",X"E6",X"A7",X"A9",X"80",X"85",X"87",X"A9",X"F9",X"85",X"43",X"85",
- X"42",X"A9",X"04",X"20",X"24",X"38",X"A9",X"00",X"20",X"24",X"38",X"A5",X"88",X"09",X"20",X"20",
- X"85",X"38",X"60",X"C6",X"A7",X"A5",X"88",X"49",X"03",X"AA",X"B5",X"A4",X"F0",X"56",X"86",X"88",
- X"A9",X"80",X"25",X"EE",X"05",X"88",X"85",X"EE",X"C9",X"82",X"D0",X"03",X"20",X"65",X"25",X"B5",
- X"A1",X"85",X"A0",X"A6",X"88",X"E0",X"01",X"D0",X"03",X"20",X"45",X"25",X"20",X"FE",X"31",X"A6",
- X"88",X"E0",X"02",X"D0",X"11",X"B5",X"A4",X"C5",X"A4",X"D0",X"0B",X"A5",X"AD",X"D0",X"07",X"A9",
- X"0C",X"95",X"94",X"20",X"C3",X"28",X"B5",X"C2",X"09",X"40",X"95",X"C2",X"A9",X"A0",X"85",X"87",
- X"A9",X"00",X"20",X"24",X"38",X"A5",X"88",X"09",X"20",X"20",X"85",X"38",X"A9",X"F9",X"85",X"43",
- X"85",X"42",X"85",X"D6",X"A6",X"88",X"D6",X"A4",X"20",X"BC",X"26",X"20",X"C7",X"21",X"20",X"E8",
- X"20",X"20",X"1F",X"23",X"60",X"A5",X"FE",X"85",X"BD",X"85",X"BF",X"8D",X"07",X"1C",X"8D",X"00",
- X"24",X"85",X"F5",X"85",X"F7",X"85",X"F6",X"85",X"F0",X"85",X"EF",X"85",X"F1",X"85",X"F2",X"85",
- X"F3",X"85",X"F4",X"85",X"F8",X"60",X"AD",X"01",X"08",X"29",X"E3",X"85",X"D3",X"29",X"03",X"85",
- X"8D",X"D0",X"04",X"A9",X"02",X"85",X"C8",X"A5",X"FD",X"29",X"0C",X"4A",X"4A",X"69",X"02",X"85",
- X"A4",X"A5",X"86",X"30",X"01",X"60",X"A5",X"8D",X"F0",X"03",X"20",X"24",X"38",X"A5",X"00",X"29",
- X"20",X"0A",X"0A",X"85",X"8D",X"A5",X"C8",X"05",X"C9",X"F0",X"10",X"A6",X"DC",X"10",X"29",X"C9",
- X"02",X"90",X"1E",X"A9",X"00",X"85",X"DC",X"A9",X"8A",X"D0",X"1A",X"A5",X"FD",X"29",X"80",X"85",
- X"DC",X"49",X"8A",X"20",X"24",X"38",X"A2",X"FF",X"8E",X"03",X"1C",X"A2",X"FF",X"8E",X"04",X"1C",
- X"60",X"A9",X"0A",X"05",X"8D",X"20",X"24",X"38",X"A9",X"09",X"20",X"24",X"38",X"A5",X"C8",X"C9",
- X"0A",X"90",X"0A",X"A9",X"21",X"20",X"85",X"38",X"A5",X"C8",X"38",X"E9",X"0A",X"09",X"20",X"20",
- X"85",X"38",X"A5",X"C9",X"F0",X"02",X"A9",X"1E",X"20",X"85",X"38",X"A6",X"C8",X"F0",X"CC",X"A5",
- X"DC",X"30",X"C8",X"A5",X"8D",X"8D",X"03",X"1C",X"AD",X"01",X"0C",X"A6",X"FF",X"4A",X"B0",X"BB",
- X"C6",X"C8",X"A9",X"FF",X"8D",X"03",X"1C",X"8D",X"04",X"1C",X"A9",X"00",X"85",X"FB",X"85",X"FC",
- X"85",X"9A",X"85",X"CB",X"85",X"CA",X"86",X"89",X"9D",X"02",X"1C",X"A6",X"A4",X"CA",X"86",X"A5",
- X"E6",X"86",X"20",X"A4",X"26",X"20",X"B3",X"21",X"85",X"AE",X"85",X"AF",X"B9",X"C0",X"21",X"85",
- X"B0",X"85",X"B1",X"AD",X"00",X"0C",X"29",X"10",X"F0",X"07",X"A9",X"80",X"85",X"EE",X"20",X"45",
- X"25",X"20",X"76",X"28",X"AD",X"01",X"08",X"29",X"1C",X"F0",X"0C",X"4A",X"4A",X"85",X"AD",X"A9",
- X"00",X"85",X"AB",X"A9",X"3C",X"85",X"A9",X"4C",X"BC",X"26",X"BD",X"7A",X"26",X"48",X"BD",X"7B",
- X"26",X"A8",X"BD",X"7C",X"26",X"AA",X"68",X"8E",X"0E",X"14",X"8E",X"06",X"14",X"8D",X"0F",X"14",
- X"8D",X"05",X"14",X"8C",X"0D",X"14",X"8C",X"07",X"14",X"60",X"0D",X"00",X"0E",X"02",X"04",X"01",
- X"0E",X"01",X"0C",X"04",X"01",X"0B",X"01",X"0C",X"0A",X"09",X"0B",X"04",X"0C",X"0D",X"0A",X"09",
- X"0C",X"0E",X"0A",X"0E",X"01",X"0B",X"01",X"04",X"01",X"00",X"06",X"0D",X"0E",X"0A",X"0E",X"0C",
- X"0B",X"00",X"0D",X"02",X"A9",X"FF",X"85",X"C1",X"85",X"C2",X"A2",X"08",X"B5",X"02",X"9D",X"78",
- X"01",X"B5",X"1A",X"9D",X"81",X"01",X"CA",X"10",X"F3",X"4C",X"4F",X"3A",X"A9",X"06",X"85",X"8B",
- X"A9",X"04",X"45",X"F7",X"29",X"06",X"85",X"92",X"A9",X"DF",X"45",X"F6",X"85",X"91",X"A6",X"A5",
- X"A9",X"1F",X"CA",X"10",X"02",X"A9",X"00",X"20",X"85",X"38",X"C6",X"8B",X"D0",X"F2",X"A9",X"06",
- X"45",X"F7",X"85",X"92",X"A9",X"5F",X"45",X"F6",X"85",X"91",X"A9",X"06",X"85",X"8B",X"38",X"E5",
- X"A6",X"AA",X"A9",X"00",X"CA",X"10",X"02",X"A9",X"1F",X"20",X"85",X"38",X"C6",X"8B",X"D0",X"F2",
- X"60",X"A2",X"0D",X"B4",X"34",X"C0",X"F9",X"90",X"18",X"C0",X"FA",X"90",X"04",X"D6",X"34",X"D0",
- X"10",X"E0",X"0D",X"D0",X"0C",X"A5",X"43",X"29",X"AF",X"D0",X"06",X"A5",X"D7",X"45",X"EF",X"85",
- X"41",X"CA",X"10",X"DF",X"A5",X"43",X"29",X"AF",X"F0",X"1A",X"A5",X"00",X"29",X"03",X"D0",X"14",
- X"A5",X"43",X"C9",X"28",X"B0",X"0E",X"E6",X"43",X"C9",X"27",X"D0",X"08",X"A9",X"00",X"85",X"DA",
- X"A9",X"04",X"85",X"DB",X"60",X"A5",X"C1",X"25",X"C2",X"10",X"01",X"60",X"A5",X"C2",X"30",X"18",
- X"A5",X"EE",X"10",X"14",X"A5",X"EF",X"D0",X"10",X"A9",X"82",X"85",X"EE",X"20",X"65",X"25",X"20",
- X"FE",X"31",X"20",X"27",X"33",X"20",X"36",X"29",X"A5",X"89",X"4A",X"F0",X"14",X"A9",X"00",X"20",
- X"24",X"38",X"A0",X"02",X"A6",X"C2",X"10",X"01",X"88",X"84",X"88",X"98",X"09",X"20",X"20",X"85",
- X"38",X"A9",X"08",X"20",X"24",X"38",X"A9",X"05",X"20",X"24",X"38",X"A9",X"89",X"45",X"F5",X"85",
- X"91",X"A9",X"05",X"45",X"F7",X"85",X"92",X"A6",X"88",X"B4",X"C0",X"84",X"8D",X"98",X"18",X"65",
- X"C0",X"85",X"8E",X"20",X"82",X"38",X"A4",X"8D",X"C8",X"20",X"82",X"38",X"A4",X"8D",X"C8",X"C8",
- X"20",X"82",X"38",X"AD",X"01",X"0C",X"A6",X"EF",X"F0",X"01",X"4A",X"4A",X"4A",X"4A",X"26",X"9A",
- X"A5",X"9A",X"29",X"1F",X"C9",X"18",X"D0",X"46",X"E6",X"C0",X"A5",X"C0",X"C9",X"03",X"90",X"32",
- X"A6",X"88",X"A9",X"FF",X"95",X"C0",X"A5",X"EF",X"F0",X"1D",X"A9",X"80",X"85",X"EE",X"20",X"45",
- X"25",X"20",X"FE",X"31",X"20",X"36",X"29",X"20",X"27",X"33",X"20",X"1F",X"23",X"20",X"C7",X"21",
- X"20",X"E8",X"20",X"A5",X"C1",X"30",X"32",X"A5",X"C1",X"25",X"C2",X"30",X"17",X"A2",X"00",X"86",
- X"C0",X"60",X"E6",X"8E",X"A6",X"8E",X"A9",X"F4",X"85",X"01",X"A9",X"01",X"95",X"1A",X"A5",X"01",
- X"F0",X"BE",X"D0",X"2E",X"A9",X"88",X"20",X"24",X"38",X"A9",X"85",X"20",X"24",X"38",X"A9",X"00",
- X"8D",X"89",X"05",X"8D",X"A9",X"05",X"8D",X"C9",X"05",X"20",X"A4",X"26",X"20",X"60",X"2D",X"A6",
- X"89",X"86",X"01",X"CA",X"F0",X"C7",X"A9",X"80",X"20",X"24",X"38",X"A9",X"00",X"A8",X"91",X"91",
- X"F0",X"BB",X"A5",X"00",X"29",X"07",X"D0",X"2B",X"A2",X"FF",X"A9",X"00",X"A4",X"B9",X"85",X"B9",
- X"10",X"07",X"A2",X"01",X"98",X"20",X"7C",X"38",X"A8",X"C0",X"04",X"90",X"16",X"8A",X"45",X"F4",
- X"A6",X"8E",X"18",X"75",X"1A",X"30",X"08",X"C9",X"1B",X"90",X"06",X"A9",X"00",X"F0",X"02",X"A9",
- X"1A",X"95",X"1A",X"A9",X"00",X"60",X"A9",X"20",X"8D",X"08",X"10",X"A9",X"0C",X"85",X"9B",X"85",
- X"9C",X"A5",X"FF",X"85",X"88",X"85",X"53",X"85",X"83",X"A9",X"02",X"85",X"9D",X"85",X"9E",X"A2",
- X"06",X"A9",X"00",X"8D",X"0F",X"10",X"95",X"B2",X"CA",X"10",X"FB",X"A2",X"05",X"95",X"A8",X"CA",
- X"10",X"FB",X"AD",X"0A",X"10",X"4D",X"0A",X"10",X"18",X"65",X"C8",X"85",X"C8",X"A9",X"03",X"8D",
- X"0F",X"10",X"20",X"1F",X"23",X"A9",X"C0",X"85",X"A0",X"85",X"A2",X"85",X"A3",X"20",X"C7",X"21",
- X"20",X"E8",X"20",X"A9",X"0F",X"8D",X"04",X"14",X"A6",X"88",X"A9",X"00",X"95",X"C2",X"AA",X"20",
- X"5A",X"26",X"A2",X"00",X"8A",X"9D",X"00",X"04",X"9D",X"00",X"05",X"9D",X"00",X"06",X"9D",X"00",
- X"07",X"E8",X"D0",X"F1",X"A6",X"88",X"95",X"D7",X"A2",X"1B",X"86",X"8B",X"A2",X"2D",X"AD",X"0A",
- X"10",X"29",X"E0",X"05",X"8B",X"85",X"8D",X"AD",X"0A",X"10",X"29",X"03",X"09",X"04",X"85",X"8E",
- X"86",X"8F",X"A0",X"00",X"A5",X"8D",X"29",X"1F",X"A6",X"EF",X"F0",X"06",X"C9",X"14",X"90",X"0E",
- X"B0",X"04",X"C9",X"0C",X"B0",X"08",X"B1",X"8D",X"D0",X"04",X"A6",X"88",X"F6",X"D7",X"A9",X"3F",
- X"45",X"EF",X"91",X"8D",X"A5",X"8B",X"38",X"E9",X"01",X"C9",X"02",X"B0",X"02",X"A9",X"1B",X"85",
- X"8B",X"A6",X"8F",X"CA",X"10",X"B8",X"A9",X"10",X"45",X"F2",X"85",X"43",X"A9",X"80",X"85",X"63",
- X"85",X"62",X"A9",X"08",X"45",X"F0",X"85",X"73",X"A9",X"0C",X"45",X"F1",X"85",X"72",X"A9",X"11",
- X"45",X"F2",X"85",X"42",X"60",X"A5",X"87",X"F0",X"01",X"60",X"A2",X"0B",X"A5",X"00",X"29",X"0F",
- X"D0",X"04",X"A9",X"07",X"85",X"B3",X"B5",X"34",X"10",X"03",X"4C",X"CB",X"2A",X"A5",X"00",X"29",
- X"01",X"D0",X"09",X"B5",X"34",X"18",X"69",X"01",X"29",X"F7",X"95",X"34",X"A0",X"01",X"B5",X"64",
- X"45",X"F0",X"C9",X"09",X"B0",X"0A",X"B5",X"34",X"C9",X"10",X"B0",X"02",X"84",X"97",X"B5",X"64",
- X"29",X"07",X"D0",X"73",X"98",X"A4",X"88",X"D9",X"94",X"00",X"D0",X"14",X"A9",X"02",X"B4",X"44",
- X"10",X"02",X"A9",X"FE",X"95",X"44",X"A9",X"02",X"B4",X"74",X"10",X"02",X"A9",X"FE",X"95",X"74",
- X"B5",X"34",X"29",X"40",X"F0",X"0F",X"B5",X"63",X"38",X"F5",X"64",X"20",X"7A",X"38",X"C9",X"08",
- X"B0",X"45",X"4C",X"96",X"2A",X"B5",X"34",X"29",X"20",X"D0",X"3C",X"B5",X"54",X"C9",X"F0",X"90",
- X"0A",X"B4",X"74",X"F0",X"0E",X"B4",X"44",X"10",X"2E",X"30",X"0F",X"C9",X"10",X"B0",X"0B",X"B4",
- X"74",X"D0",X"03",X"4C",X"AA",X"2A",X"B4",X"44",X"30",X"1D",X"20",X"10",X"23",X"20",X"2F",X"2C",
- X"F0",X"10",X"C9",X"38",X"90",X"11",X"C9",X"3C",X"B0",X"0D",X"B5",X"34",X"09",X"20",X"95",X"34",
- X"90",X"05",X"20",X"6F",X"2C",X"90",X"BB",X"B5",X"64",X"45",X"F0",X"B4",X"74",X"F0",X"D4",X"10",
- X"12",X"A4",X"EF",X"F0",X"08",X"45",X"F0",X"C9",X"C9",X"90",X"63",X"B0",X"68",X"C9",X"30",X"B0",
- X"5D",X"90",X"62",X"C9",X"09",X"B0",X"5E",X"B5",X"34",X"29",X"40",X"D0",X"51",X"B5",X"34",X"29",
- X"DF",X"95",X"34",X"E0",X"0B",X"F0",X"47",X"8A",X"A8",X"C8",X"B9",X"34",X"00",X"30",X"3F",X"29",
- X"40",X"F0",X"3B",X"C0",X"0B",X"F0",X"09",X"B9",X"35",X"00",X"30",X"04",X"29",X"40",X"D0",X"29",
- X"B9",X"64",X"00",X"45",X"F0",X"C9",X"09",X"B0",X"25",X"B9",X"34",X"00",X"29",X"07",X"99",X"34",
- X"00",X"B9",X"44",X"00",X"20",X"7C",X"38",X"99",X"44",X"00",X"B9",X"64",X"00",X"29",X"F8",X"99",
- X"64",X"00",X"A9",X"00",X"99",X"74",X"00",X"F0",X"05",X"C8",X"C0",X"0C",X"90",X"C5",X"B5",X"74",
- X"20",X"7C",X"38",X"95",X"74",X"B5",X"64",X"A4",X"EF",X"F0",X"06",X"18",X"75",X"74",X"4C",X"94",
- X"2A",X"38",X"F5",X"74",X"95",X"64",X"B5",X"44",X"18",X"75",X"54",X"95",X"54",X"20",X"9A",X"2C",
- X"90",X"2F",X"B5",X"64",X"29",X"07",X"C9",X"04",X"D0",X"21",X"B5",X"44",X"20",X"7C",X"38",X"95",
- X"44",X"B4",X"74",X"D0",X"16",X"09",X"00",X"30",X"03",X"20",X"7C",X"38",X"95",X"74",X"A9",X"04",
- X"B4",X"44",X"10",X"02",X"A9",X"FC",X"18",X"75",X"54",X"95",X"54",X"CA",X"30",X"03",X"4C",X"66",
- X"29",X"60",X"A5",X"86",X"10",X"01",X"60",X"A5",X"43",X"29",X"AF",X"D0",X"F9",X"A5",X"73",X"85",
- X"8D",X"A4",X"FE",X"A5",X"B9",X"84",X"B9",X"20",X"4F",X"32",X"65",X"84",X"85",X"84",X"98",X"65",
- X"63",X"AA",X"85",X"8B",X"A0",X"00",X"A5",X"73",X"20",X"2F",X"2C",X"D0",X"11",X"8A",X"C9",X"F4",
- X"90",X"04",X"A9",X"F4",X"D0",X"0A",X"C9",X"0B",X"B0",X"06",X"A9",X"0B",X"D0",X"02",X"A5",X"63",
- X"85",X"63",X"A4",X"86",X"10",X"01",X"60",X"A0",X"00",X"A5",X"BB",X"84",X"BB",X"20",X"7C",X"38",
- X"20",X"4F",X"32",X"65",X"85",X"85",X"85",X"98",X"65",X"73",X"AA",X"A4",X"63",X"84",X"8B",X"A0",
- X"00",X"20",X"2F",X"2C",X"D0",X"25",X"8A",X"C9",X"08",X"90",X"1C",X"C9",X"F1",X"B0",X"14",X"C9",
- X"80",X"90",X"08",X"C9",X"C8",X"B0",X"16",X"A9",X"C8",X"D0",X"12",X"C9",X"31",X"90",X"0E",X"A9",
- X"30",X"D0",X"0A",X"A9",X"F0",X"D0",X"06",X"A9",X"08",X"D0",X"02",X"A5",X"73",X"85",X"73",X"A4",
- X"86",X"10",X"01",X"60",X"A5",X"72",X"A6",X"EF",X"F0",X"07",X"38",X"E5",X"8D",X"B0",X"0E",X"90",
- X"05",X"38",X"E5",X"8D",X"90",X"07",X"20",X"7A",X"38",X"C9",X"05",X"B0",X"0D",X"A9",X"04",X"45",
- X"F0",X"18",X"65",X"73",X"85",X"72",X"A5",X"63",X"85",X"62",X"A5",X"43",X"29",X"AF",X"F0",X"04",
- X"A9",X"28",X"85",X"42",X"60",X"A5",X"32",X"29",X"1F",X"A6",X"EF",X"F0",X"06",X"C9",X"14",X"90",
- X"0A",X"B0",X"04",X"C9",X"0C",X"B0",X"04",X"A6",X"88",X"D6",X"D7",X"60",X"A0",X"00",X"B1",X"32",
- X"D0",X"2A",X"A5",X"32",X"29",X"1F",X"F0",X"24",X"C9",X"1F",X"F0",X"20",X"A6",X"EF",X"F0",X"0A",
- X"C9",X"1E",X"F0",X"18",X"C9",X"14",X"90",X"0E",X"B0",X"08",X"C9",X"01",X"F0",X"0E",X"C9",X"0C",
- X"B0",X"04",X"A6",X"88",X"F6",X"D7",X"A9",X"3F",X"45",X"EF",X"91",X"32",X"60",X"A5",X"97",X"F0",
- X"4D",X"A5",X"87",X"D0",X"49",X"A5",X"A0",X"F0",X"03",X"C6",X"A0",X"60",X"A6",X"88",X"A0",X"0B",
- X"B9",X"34",X"00",X"30",X"04",X"88",X"10",X"F8",X"60",X"A9",X"00",X"99",X"34",X"00",X"A9",X"40",
- X"45",X"F0",X"99",X"64",X"00",X"A9",X"FC",X"99",X"54",X"00",X"A9",X"02",X"99",X"74",X"00",X"B5",
- X"A1",X"C9",X"60",X"90",X"04",X"E9",X"08",X"95",X"A1",X"85",X"A0",X"AD",X"0A",X"10",X"29",X"02",
- X"D0",X"07",X"A9",X"04",X"99",X"54",X"00",X"A9",X"FE",X"99",X"44",X"00",X"F6",X"94",X"60",X"4A",
- X"4A",X"4A",X"69",X"00",X"85",X"32",X"A9",X"01",X"85",X"33",X"98",X"0A",X"0A",X"0A",X"18",X"65",
- X"8B",X"85",X"8B",X"A9",X"F7",X"38",X"E5",X"8B",X"B0",X"02",X"A9",X"00",X"29",X"F8",X"0A",X"26",
- X"33",X"0A",X"26",X"33",X"05",X"32",X"A4",X"33",X"C0",X"07",X"D0",X"08",X"C9",X"C0",X"90",X"04",
- X"29",X"1F",X"09",X"A0",X"85",X"32",X"A0",X"00",X"B1",X"32",X"F0",X"02",X"45",X"EF",X"60",X"86",
- X"8B",X"86",X"8C",X"E6",X"8C",X"A0",X"0C",X"B9",X"64",X"00",X"D5",X"64",X"D0",X"17",X"B9",X"34",
- X"00",X"C9",X"F4",X"B0",X"10",X"C4",X"8B",X"F0",X"0C",X"B5",X"54",X"38",X"F9",X"54",X"00",X"55",
- X"44",X"C9",X"F4",X"B0",X"04",X"88",X"10",X"DF",X"18",X"60",X"B5",X"54",X"38",X"E5",X"63",X"20",
- X"7A",X"38",X"E0",X"0D",X"D0",X"05",X"C9",X"0A",X"90",X"05",X"60",X"C9",X"07",X"B0",X"FB",X"85",
- X"8D",X"B5",X"64",X"38",X"E5",X"73",X"20",X"7A",X"38",X"C9",X"07",X"B0",X"ED",X"18",X"65",X"8D",
- X"E0",X"0D",X"F0",X"2A",X"C9",X"0C",X"B0",X"E2",X"A9",X"30",X"85",X"87",X"A9",X"20",X"85",X"43",
- X"A9",X"FF",X"95",X"34",X"A9",X"28",X"85",X"42",X"A5",X"86",X"30",X"04",X"A9",X"13",X"85",X"B7",
- X"A9",X"00",X"85",X"B2",X"85",X"B3",X"85",X"B4",X"85",X"B5",X"85",X"B8",X"18",X"60",X"C9",X"0E",
- X"4C",X"C6",X"2C",X"A0",X"00",X"A5",X"00",X"29",X"07",X"D0",X"14",X"A5",X"B7",X"D0",X"10",X"A5",
- X"DB",X"F0",X"0C",X"C9",X"07",X"D0",X"09",X"A5",X"DA",X"C9",X"C0",X"90",X"03",X"84",X"DB",X"60",
- X"B1",X"DA",X"29",X"3F",X"C9",X"38",X"90",X"40",X"C9",X"3F",X"B0",X"3C",X"A9",X"3F",X"45",X"EF",
- X"91",X"DA",X"A9",X"00",X"85",X"8B",X"A9",X"05",X"20",X"BA",X"2D",X"A9",X"FF",X"85",X"3F",X"A5",
- X"DB",X"85",X"8B",X"A5",X"DA",X"0A",X"26",X"8B",X"0A",X"26",X"8B",X"0A",X"26",X"8B",X"85",X"6F",
- X"A5",X"8B",X"29",X"1F",X"49",X"1F",X"0A",X"0A",X"0A",X"E9",X"03",X"85",X"5F",X"E6",X"DA",X"D0",
- X"02",X"E6",X"DB",X"A9",X"13",X"85",X"B2",X"60",X"E6",X"DA",X"D0",X"A3",X"E6",X"DB",X"D0",X"B0",
- X"A9",X"07",X"20",X"24",X"38",X"A0",X"00",X"A2",X"5C",X"86",X"91",X"A9",X"05",X"85",X"92",X"B9",
- X"04",X"00",X"84",X"8D",X"38",X"20",X"9E",X"38",X"A4",X"8D",X"B9",X"03",X"00",X"20",X"9E",X"38",
- X"A4",X"8D",X"B9",X"02",X"00",X"18",X"20",X"9E",X"38",X"A9",X"00",X"20",X"85",X"38",X"A4",X"8D",
- X"20",X"82",X"38",X"E6",X"8D",X"A4",X"8D",X"20",X"82",X"38",X"E6",X"8D",X"A4",X"8D",X"20",X"82",
- X"38",X"A5",X"91",X"29",X"1F",X"09",X"40",X"AA",X"CA",X"A4",X"8D",X"C8",X"C0",X"18",X"90",X"B9",
- X"60",X"C9",X"86",X"8D",X"A6",X"88",X"D6",X"94",X"A6",X"8D",X"A4",X"86",X"30",X"5D",X"86",X"8D",
- X"F8",X"A6",X"88",X"18",X"75",X"A7",X"95",X"A7",X"B5",X"A9",X"65",X"8B",X"95",X"A9",X"90",X"0D",
- X"B5",X"A1",X"E9",X"02",X"95",X"A1",X"B5",X"AB",X"18",X"69",X"01",X"95",X"AB",X"D8",X"A6",X"88",
- X"B5",X"A9",X"D5",X"AD",X"B5",X"AB",X"F5",X"AF",X"90",X"2F",X"20",X"B3",X"21",X"F8",X"18",X"75",
- X"AD",X"95",X"AD",X"B9",X"C0",X"21",X"75",X"AF",X"95",X"AF",X"D8",X"AD",X"01",X"08",X"29",X"1C",
- X"F0",X"06",X"A5",X"AD",X"05",X"AB",X"F0",X"11",X"B5",X"A4",X"C9",X"06",X"F0",X"0B",X"B0",X"FE",
- X"F6",X"A4",X"A9",X"11",X"85",X"B6",X"20",X"BC",X"26",X"A6",X"8D",X"60",X"A5",X"40",X"45",X"EF",
- X"C9",X"34",X"90",X"03",X"4C",X"A5",X"2E",X"C9",X"30",X"B0",X"5D",X"A5",X"70",X"45",X"F0",X"C9",
- X"F8",X"90",X"04",X"A5",X"00",X"F0",X"03",X"4C",X"D6",X"2E",X"A6",X"88",X"B5",X"9A",X"C9",X"0B",
- X"B0",X"F5",X"AD",X"0A",X"10",X"29",X"03",X"D0",X"EE",X"A9",X"14",X"85",X"B8",X"A9",X"30",X"45",
- X"EF",X"85",X"40",X"B5",X"AB",X"C9",X"02",X"90",X"12",X"AD",X"0A",X"10",X"29",X"03",X"F0",X"0B",
- X"A9",X"02",X"2C",X"0A",X"10",X"10",X"0D",X"A9",X"FE",X"D0",X"09",X"A9",X"01",X"2C",X"0A",X"10",
- X"10",X"02",X"A9",X"FF",X"85",X"50",X"A9",X"00",X"85",X"60",X"85",X"80",X"AD",X"0A",X"10",X"29",
- X"78",X"18",X"69",X"70",X"45",X"F0",X"85",X"70",X"A5",X"43",X"29",X"AF",X"D0",X"1D",X"A5",X"60",
- X"A4",X"EF",X"F0",X"06",X"38",X"E5",X"50",X"4C",X"9D",X"2E",X"18",X"65",X"50",X"85",X"60",X"85",
- X"8B",X"D0",X"0B",X"F0",X"06",X"45",X"EF",X"C9",X"FA",X"B0",X"2B",X"4C",X"E8",X"20",X"A5",X"00",
- X"29",X"03",X"D0",X"0D",X"A5",X"40",X"18",X"69",X"01",X"29",X"03",X"09",X"30",X"45",X"EF",X"85",
- X"40",X"A0",X"00",X"A5",X"70",X"20",X"2F",X"2C",X"C9",X"40",X"B0",X"0A",X"C9",X"3C",X"90",X"06",
- X"29",X"FB",X"45",X"EF",X"91",X"32",X"60",X"A5",X"72",X"A4",X"EF",X"F0",X"05",X"18",X"69",X"07",
- X"49",X"FF",X"C9",X"F3",X"B0",X"75",X"A9",X"04",X"45",X"F0",X"18",X"65",X"73",X"C5",X"72",X"D0",
- X"25",X"A5",X"43",X"29",X"AF",X"D0",X"18",X"AD",X"01",X"0C",X"A6",X"86",X"10",X"03",X"AD",X"0A",
- X"10",X"C0",X"C0",X"D0",X"06",X"29",X"08",X"F0",X"09",X"D0",X"04",X"29",X"04",X"F0",X"03",X"4C",
- X"5A",X"30",X"A9",X"0B",X"85",X"B4",X"A5",X"62",X"85",X"8B",X"A9",X"07",X"45",X"F4",X"A4",X"72",
- X"18",X"65",X"72",X"85",X"72",X"84",X"8D",X"A9",X"01",X"45",X"F3",X"18",X"65",X"8D",X"A0",X"00",
- X"20",X"2F",X"2C",X"F0",X"29",X"29",X"3F",X"C9",X"38",X"90",X"20",X"E9",X"01",X"C9",X"3B",X"F0",
- X"04",X"C9",X"37",X"D0",X"0D",X"A9",X"00",X"85",X"8B",X"A9",X"01",X"20",X"BA",X"2D",X"A0",X"00",
- X"A5",X"EF",X"45",X"EF",X"91",X"32",X"D0",X"03",X"20",X"95",X"2B",X"4C",X"57",X"30",X"A2",X"0D",
- X"B5",X"34",X"C9",X"76",X"90",X"08",X"C9",X"B9",X"90",X"69",X"C9",X"F8",X"B0",X"65",X"B5",X"64",
- X"45",X"F0",X"C9",X"F8",X"B0",X"5D",X"45",X"F0",X"38",X"E5",X"72",X"20",X"7A",X"38",X"A8",X"E0",
- X"0C",X"D0",X"16",X"B5",X"34",X"45",X"EF",X"C9",X"20",X"B0",X"0E",X"A5",X"80",X"45",X"F0",X"C9",
- X"04",X"90",X"06",X"C0",X"07",X"B0",X"3C",X"90",X"04",X"C0",X"05",X"B0",X"36",X"B5",X"54",X"38",
- X"E5",X"62",X"20",X"7A",X"38",X"A8",X"E0",X"0D",X"F0",X"25",X"E0",X"0C",X"90",X"60",X"B5",X"34",
- X"45",X"EF",X"C9",X"20",X"B0",X"10",X"C0",X"06",X"B0",X"19",X"A0",X"02",X"A9",X"04",X"C5",X"80",
- X"F0",X"0A",X"85",X"80",X"D0",X"95",X"C0",X"0A",X"B0",X"09",X"A0",X"10",X"4C",X"48",X"30",X"C0",
- X"0A",X"90",X"03",X"4C",X"42",X"30",X"A0",X"B6",X"84",X"D7",X"A0",X"03",X"A5",X"71",X"38",X"E5",
- X"73",X"20",X"7A",X"38",X"C9",X"40",X"B0",X"0C",X"E6",X"D7",X"A0",X"09",X"C9",X"16",X"90",X"04",
- X"E6",X"D7",X"A0",X"06",X"A9",X"80",X"85",X"9F",X"85",X"A1",X"A9",X"00",X"85",X"B5",X"A9",X"F0",
- X"C5",X"61",X"90",X"06",X"A9",X"10",X"C5",X"61",X"90",X"3E",X"85",X"61",X"D0",X"3A",X"C0",X"06",
- X"B0",X"30",X"A9",X"00",X"85",X"8B",X"A0",X"10",X"B5",X"34",X"29",X"40",X"D0",X"04",X"A0",X"00",
- X"E6",X"8B",X"98",X"20",X"B2",X"2D",X"E0",X"0B",X"F0",X"08",X"B5",X"35",X"30",X"04",X"29",X"BF",
- X"95",X"35",X"20",X"10",X"23",X"20",X"2F",X"2C",X"86",X"8D",X"20",X"AC",X"2B",X"A6",X"8D",X"4C",
- X"4F",X"30",X"CA",X"30",X"15",X"4C",X"60",X"2F",X"84",X"8B",X"A9",X"00",X"20",X"BA",X"2D",X"A9",
- X"13",X"85",X"B2",X"A9",X"FF",X"95",X"34",X"20",X"7D",X"2B",X"A6",X"88",X"B5",X"94",X"05",X"87",
- X"F0",X"10",X"A5",X"41",X"45",X"EF",X"C9",X"9C",X"90",X"07",X"C6",X"9F",X"D0",X"03",X"20",X"C7",
- X"21",X"60",X"F6",X"9C",X"A9",X"40",X"85",X"87",X"60",X"A6",X"86",X"10",X"0F",X"A2",X"00",X"8E",
- X"01",X"10",X"8E",X"03",X"10",X"8E",X"05",X"10",X"8E",X"07",X"10",X"60",X"A5",X"00",X"4A",X"90",
- X"19",X"A4",X"B5",X"98",X"F0",X"11",X"C6",X"B5",X"D0",X"04",X"A9",X"14",X"85",X"B5",X"B9",X"B0",
- X"31",X"8D",X"06",X"10",X"B9",X"C4",X"31",X"8D",X"07",X"10",X"A4",X"B4",X"98",X"F0",X"0A",X"C6",
- X"B4",X"B9",X"A5",X"31",X"8D",X"04",X"10",X"A9",X"64",X"8D",X"05",X"10",X"A5",X"AD",X"D0",X"14",
- X"A5",X"AB",X"C9",X"16",X"B0",X"0E",X"C9",X"14",X"90",X"0A",X"A5",X"00",X"29",X"04",X"F0",X"16",
- X"A9",X"10",X"D0",X"12",X"A4",X"B6",X"F0",X"28",X"A5",X"00",X"29",X"07",X"D0",X"73",X"C6",X"B6",
- X"88",X"F0",X"1D",X"B9",X"D8",X"31",X"8D",X"02",X"10",X"A9",X"A4",X"D0",X"61",X"A4",X"B8",X"88",
- X"D0",X"02",X"A0",X"14",X"84",X"B8",X"B9",X"E9",X"31",X"8D",X"02",X"10",X"A9",X"A4",X"D0",X"4E",
- X"A5",X"70",X"45",X"F0",X"C9",X"F8",X"B0",X"36",X"A5",X"43",X"29",X"AF",X"D0",X"30",X"A5",X"40",
- X"45",X"EF",X"C9",X"34",X"B0",X"28",X"C9",X"20",X"B0",X"D3",X"A5",X"70",X"45",X"F4",X"4A",X"49",
- X"FF",X"09",X"80",X"8D",X"02",X"10",X"A9",X"A4",X"D0",X"24",X"A4",X"B2",X"98",X"F0",X"0B",X"C6",
- X"B2",X"B9",X"71",X"31",X"8D",X"00",X"10",X"B9",X"84",X"31",X"8D",X"01",X"10",X"60",X"A4",X"B3",
- X"98",X"F0",X"0B",X"C6",X"B3",X"B9",X"97",X"31",X"8D",X"02",X"10",X"B9",X"9E",X"31",X"8D",X"03",
- X"10",X"A4",X"B7",X"F0",X"D5",X"A5",X"00",X"29",X"03",X"D0",X"16",X"C6",X"B7",X"88",X"F0",X"11",
- X"B9",X"71",X"31",X"8D",X"00",X"10",X"B9",X"84",X"31",X"F0",X"03",X"18",X"69",X"02",X"8D",X"01",
- X"10",X"60",X"00",X"00",X"00",X"00",X"F0",X"E0",X"D0",X"C0",X"B0",X"A0",X"90",X"80",X"70",X"60",
- X"50",X"40",X"30",X"20",X"10",X"00",X"00",X"00",X"00",X"81",X"81",X"81",X"82",X"82",X"82",X"82",
- X"83",X"83",X"83",X"83",X"84",X"84",X"84",X"84",X"70",X"00",X"00",X"A0",X"00",X"C0",X"E0",X"A1",
- X"00",X"00",X"A2",X"00",X"A2",X"A4",X"F0",X"E0",X"D0",X"C0",X"B0",X"A0",X"90",X"80",X"70",X"60",
- X"50",X"05",X"05",X"20",X"20",X"30",X"30",X"35",X"35",X"30",X"30",X"20",X"20",X"05",X"05",X"20",
- X"20",X"30",X"30",X"35",X"35",X"A1",X"00",X"A2",X"00",X"A3",X"00",X"A4",X"00",X"A3",X"00",X"A2",
- X"00",X"A1",X"00",X"A2",X"00",X"A3",X"00",X"A2",X"00",X"28",X"28",X"30",X"28",X"28",X"30",X"3C",
- X"51",X"50",X"50",X"60",X"50",X"50",X"60",X"74",X"A2",X"00",X"60",X"60",X"70",X"70",X"60",X"60",
- X"60",X"70",X"70",X"70",X"50",X"50",X"80",X"80",X"50",X"50",X"50",X"80",X"80",X"80",X"A0",X"00",
- X"84",X"32",X"A9",X"04",X"85",X"33",X"84",X"8D",X"A9",X"00",X"85",X"8B",X"84",X"8E",X"A2",X"08",
- X"B1",X"32",X"29",X"3F",X"C9",X"38",X"26",X"8B",X"C8",X"CA",X"D0",X"F4",X"A6",X"8D",X"BD",X"00",
- X"01",X"E6",X"8D",X"A8",X"A5",X"8B",X"9D",X"00",X"01",X"84",X"8B",X"A4",X"8E",X"A2",X"08",X"A9",
- X"00",X"26",X"8B",X"90",X"04",X"A9",X"3F",X"45",X"EF",X"91",X"32",X"C8",X"CA",X"D0",X"F0",X"98",
- X"D0",X"02",X"E6",X"33",X"C0",X"C0",X"D0",X"C0",X"A5",X"33",X"C9",X"07",X"D0",X"BA",X"60",X"C9",
- X"08",X"90",X"0C",X"C9",X"F8",X"B0",X"08",X"C9",X"80",X"A9",X"08",X"90",X"02",X"A9",X"F8",X"C9",
- X"80",X"6A",X"A8",X"A9",X"00",X"6A",X"60",X"A9",X"FF",X"A2",X"00",X"85",X"C1",X"85",X"C2",X"F8",
- X"A5",X"FB",X"18",X"6D",X"8E",X"01",X"8D",X"8E",X"01",X"A5",X"FC",X"6D",X"8F",X"01",X"8D",X"8F",
- X"01",X"AD",X"90",X"01",X"69",X"00",X"8D",X"90",X"01",X"AD",X"91",X"01",X"69",X"00",X"B0",X"1C",
- X"8D",X"91",X"01",X"AD",X"8B",X"01",X"18",X"65",X"89",X"8D",X"8B",X"01",X"AD",X"8C",X"01",X"69",
- X"00",X"8D",X"8C",X"01",X"AD",X"8D",X"01",X"69",X"00",X"8D",X"8D",X"01",X"D8",X"A0",X"00",X"B9",
- X"02",X"00",X"D5",X"A8",X"B9",X"03",X"00",X"F5",X"AA",X"B9",X"04",X"00",X"F5",X"AC",X"90",X"2E",
- X"C8",X"C8",X"C8",X"C0",X"18",X"90",X"E8",X"CA",X"10",X"E3",X"A5",X"C2",X"30",X"0E",X"C5",X"C1",
- X"90",X"0A",X"69",X"02",X"C9",X"18",X"90",X"02",X"A9",X"FF",X"85",X"C2",X"A9",X"00",X"85",X"C0",
- X"A5",X"C2",X"25",X"C1",X"10",X"07",X"A9",X"00",X"85",X"01",X"20",X"60",X"2D",X"60",X"86",X"8D",
- X"84",X"8E",X"94",X"C1",X"A2",X"17",X"B5",X"17",X"95",X"1A",X"BD",X"FF",X"FF",X"95",X"02",X"CA",
- X"E4",X"8E",X"D0",X"F2",X"A9",X"01",X"95",X"1A",X"A9",X"00",X"95",X"1B",X"95",X"1C",X"85",X"B9",
- X"A6",X"8D",X"B5",X"AC",X"99",X"04",X"00",X"B5",X"AA",X"99",X"03",X"00",X"B5",X"A8",X"99",X"02",
- X"00",X"A9",X"F0",X"85",X"01",X"D0",X"A0",X"A9",X"1F",X"45",X"F5",X"85",X"91",X"A9",X"04",X"45",
- X"F7",X"85",X"92",X"A5",X"AC",X"38",X"20",X"9E",X"38",X"A5",X"AA",X"20",X"9E",X"38",X"A5",X"A8",
- X"18",X"20",X"9E",X"38",X"AD",X"01",X"08",X"29",X"1C",X"F0",X"1D",X"A9",X"07",X"45",X"F7",X"85",
- X"92",X"A9",X"1F",X"45",X"F5",X"85",X"91",X"A5",X"AD",X"38",X"20",X"9E",X"38",X"A9",X"2E",X"20",
- X"85",X"38",X"A5",X"AB",X"18",X"20",X"9E",X"38",X"A9",X"9F",X"45",X"F5",X"85",X"91",X"A9",X"05",
- X"45",X"F7",X"85",X"92",X"A5",X"04",X"38",X"20",X"9E",X"38",X"A5",X"03",X"20",X"9E",X"38",X"A5",
- X"02",X"18",X"4C",X"9E",X"38",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",
- X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"F5",X"A2",X"02",X"AD",
- X"01",X"0C",X"E0",X"01",X"F0",X"03",X"B0",X"02",X"0A",X"0A",X"0A",X"B5",X"CF",X"29",X"1F",X"B0",
- X"37",X"F0",X"10",X"C9",X"1B",X"B0",X"0A",X"A8",X"A5",X"D4",X"29",X"07",X"C9",X"07",X"98",X"90",
- X"02",X"E9",X"01",X"95",X"CF",X"AD",X"01",X"0C",X"29",X"10",X"D0",X"04",X"A9",X"F0",X"85",X"D2",
- X"A5",X"D2",X"F0",X"08",X"C6",X"D2",X"A9",X"00",X"95",X"CF",X"95",X"CC",X"18",X"B5",X"CC",X"F0",
- X"23",X"D6",X"CC",X"D0",X"1F",X"38",X"B0",X"1C",X"C9",X"1B",X"B0",X"09",X"B5",X"CF",X"69",X"20",
- X"90",X"D1",X"F0",X"01",X"18",X"A9",X"1F",X"B0",X"CA",X"95",X"CF",X"B5",X"CC",X"F0",X"01",X"38",
- X"A9",X"78",X"95",X"CC",X"90",X"2A",X"A9",X"00",X"E0",X"01",X"90",X"16",X"F0",X"0C",X"A5",X"D3",
- X"29",X"0C",X"4A",X"4A",X"F0",X"0C",X"69",X"02",X"D0",X"08",X"A5",X"D3",X"29",X"10",X"F0",X"02",
- X"A9",X"01",X"38",X"48",X"65",X"CA",X"85",X"CA",X"68",X"38",X"65",X"C9",X"85",X"C9",X"F6",X"C5",
- X"CA",X"30",X"03",X"4C",X"AF",X"33",X"A5",X"D3",X"4A",X"4A",X"4A",X"4A",X"4A",X"A8",X"A5",X"CA",
- X"38",X"F9",X"62",X"34",X"30",X"14",X"85",X"CA",X"E6",X"CB",X"C0",X"03",X"D0",X"0C",X"E6",X"CB",
- X"D0",X"08",X"7F",X"02",X"04",X"04",X"05",X"03",X"7F",X"7F",X"A5",X"D3",X"29",X"03",X"A8",X"F0",
- X"1A",X"4A",X"69",X"00",X"49",X"FF",X"38",X"65",X"C9",X"B0",X"08",X"65",X"CB",X"30",X"0E",X"85",
- X"CB",X"A9",X"00",X"C0",X"02",X"B0",X"02",X"E6",X"C8",X"E6",X"C8",X"85",X"C9",X"E6",X"D4",X"A5",
- X"D4",X"4A",X"B0",X"27",X"A0",X"00",X"A2",X"02",X"B5",X"C5",X"F0",X"09",X"C9",X"10",X"90",X"05",
- X"69",X"EF",X"C8",X"95",X"C5",X"CA",X"10",X"F0",X"98",X"D0",X"10",X"A2",X"02",X"B5",X"C5",X"F0",
- X"07",X"18",X"69",X"EF",X"95",X"C5",X"30",X"03",X"CA",X"10",X"F2",X"60",X"14",X"35",X"1F",X"35",
- X"2B",X"35",X"36",X"35",X"42",X"35",X"54",X"35",X"69",X"35",X"7E",X"35",X"92",X"35",X"A3",X"35",
- X"B7",X"35",X"CB",X"35",X"DE",X"35",X"F0",X"35",X"05",X"36",X"1A",X"36",X"2E",X"36",X"3B",X"36",
- X"48",X"36",X"59",X"36",X"6C",X"36",X"83",X"36",X"A3",X"36",X"BB",X"36",X"D2",X"36",X"E2",X"36",
- X"F1",X"36",X"02",X"37",X"11",X"37",X"20",X"37",X"35",X"37",X"48",X"37",X"53",X"37",X"62",X"37",
- X"7B",X"37",X"8E",X"37",X"9E",X"37",X"AA",X"37",X"B6",X"37",X"C2",X"37",X"CF",X"37",X"E3",X"37",
- X"FF",X"37",X"11",X"38",X"6E",X"05",X"51",X"06",X"50",X"4C",X"41",X"59",X"45",X"52",X"A0",X"6E",
- X"05",X"51",X"06",X"53",X"50",X"49",X"45",X"4C",X"45",X"52",X"A0",X"6E",X"05",X"51",X"06",X"4A",
- X"4F",X"55",X"45",X"55",X"52",X"A0",X"6E",X"05",X"51",X"06",X"4A",X"55",X"47",X"41",X"44",X"4F",
- X"52",X"A0",X"13",X"05",X"AC",X"06",X"31",X"20",X"43",X"4F",X"49",X"4E",X"20",X"32",X"20",X"50",
- X"4C",X"41",X"59",X"D3",X"F3",X"04",X"CC",X"06",X"31",X"20",X"4D",X"55",X"45",X"4E",X"5A",X"45",
- X"20",X"32",X"20",X"53",X"50",X"49",X"45",X"4C",X"C5",X"F3",X"04",X"CC",X"06",X"31",X"20",X"50",
- X"49",X"45",X"43",X"45",X"20",X"32",X"20",X"4A",X"4F",X"55",X"45",X"55",X"52",X"D3",X"F3",X"04",
- X"CC",X"06",X"31",X"20",X"46",X"49",X"43",X"48",X"41",X"20",X"32",X"20",X"4A",X"55",X"45",X"47",
- X"4F",X"D3",X"13",X"05",X"AC",X"06",X"31",X"20",X"43",X"4F",X"49",X"4E",X"20",X"31",X"20",X"50",
- X"4C",X"41",X"D9",X"F3",X"04",X"CC",X"06",X"31",X"20",X"4D",X"55",X"45",X"4E",X"5A",X"45",X"20",
- X"31",X"20",X"53",X"50",X"49",X"45",X"CC",X"F3",X"04",X"CC",X"06",X"31",X"20",X"50",X"49",X"45",
- X"43",X"45",X"20",X"31",X"20",X"4A",X"4F",X"55",X"45",X"55",X"D2",X"F3",X"04",X"CC",X"06",X"31",
- X"20",X"46",X"49",X"43",X"48",X"41",X"20",X"31",X"20",X"4A",X"55",X"45",X"47",X"CF",X"13",X"05",
- X"AC",X"06",X"32",X"20",X"43",X"4F",X"49",X"4E",X"53",X"20",X"31",X"20",X"50",X"4C",X"41",X"D9",
- X"F3",X"04",X"CC",X"06",X"32",X"20",X"4D",X"55",X"45",X"4E",X"5A",X"45",X"4E",X"20",X"31",X"20",
- X"53",X"50",X"49",X"45",X"CC",X"F3",X"04",X"CC",X"06",X"32",X"20",X"50",X"49",X"45",X"43",X"45",
- X"53",X"20",X"31",X"20",X"4A",X"4F",X"55",X"45",X"55",X"D2",X"F3",X"04",X"CC",X"06",X"32",X"20",
- X"46",X"49",X"43",X"48",X"41",X"53",X"20",X"31",X"20",X"4A",X"55",X"45",X"47",X"CF",X"6F",X"05",
- X"50",X"06",X"47",X"41",X"4D",X"45",X"20",X"4F",X"56",X"45",X"D2",X"6F",X"05",X"50",X"06",X"53",
- X"50",X"49",X"45",X"4C",X"45",X"4E",X"44",X"C5",X"0F",X"05",X"B0",X"06",X"46",X"49",X"4E",X"20",
- X"44",X"45",X"20",X"50",X"41",X"52",X"54",X"49",X"C5",X"EF",X"04",X"D0",X"06",X"4A",X"55",X"45",
- X"47",X"4F",X"20",X"54",X"45",X"52",X"4D",X"49",X"4E",X"41",X"44",X"CF",X"AB",X"04",X"14",X"07",
- X"45",X"4E",X"54",X"45",X"52",X"20",X"59",X"4F",X"55",X"52",X"20",X"49",X"4E",X"49",X"54",X"49",
- X"41",X"4C",X"D3",X"2B",X"04",X"94",X"07",X"47",X"45",X"42",X"45",X"4E",X"20",X"53",X"49",X"45",
- X"20",X"49",X"48",X"52",X"45",X"20",X"49",X"4E",X"49",X"54",X"49",X"41",X"4C",X"45",X"4E",X"20",
- X"45",X"49",X"CE",X"8B",X"04",X"34",X"07",X"45",X"4E",X"54",X"52",X"45",X"5A",X"20",X"56",X"4F",
- X"53",X"20",X"49",X"4E",X"49",X"54",X"49",X"41",X"4C",X"45",X"D3",X"8B",X"04",X"34",X"07",X"45",
- X"4E",X"54",X"52",X"45",X"20",X"53",X"55",X"53",X"20",X"49",X"4E",X"49",X"43",X"49",X"41",X"4C",
- X"45",X"D3",X"F1",X"04",X"CE",X"06",X"42",X"4F",X"4E",X"55",X"53",X"20",X"45",X"56",X"45",X"52",
- X"59",X"A0",X"F1",X"04",X"CE",X"06",X"42",X"4F",X"4E",X"55",X"53",X"20",X"4A",X"45",X"44",X"45",
- X"A0",X"D1",X"04",X"EE",X"06",X"42",X"4F",X"4E",X"55",X"53",X"20",X"43",X"48",X"41",X"51",X"55",
- X"45",X"A0",X"F1",X"04",X"CE",X"06",X"45",X"58",X"54",X"52",X"41",X"20",X"43",X"41",X"44",X"41",
- X"A0",X"5D",X"05",X"62",X"06",X"48",X"49",X"47",X"48",X"20",X"53",X"43",X"4F",X"52",X"45",X"D3",
- X"DD",X"04",X"E2",X"06",X"48",X"4F",X"45",X"43",X"48",X"53",X"54",X"45",X"52",X"47",X"45",X"42",
- X"4E",X"49",X"53",X"53",X"C5",X"1D",X"05",X"A2",X"06",X"4D",X"45",X"49",X"4C",X"4C",X"45",X"55",
- X"52",X"53",X"20",X"53",X"43",X"4F",X"52",X"C5",X"9D",X"05",X"22",X"06",X"52",X"45",X"43",X"4F",
- X"52",X"44",X"D3",X"2C",X"05",X"93",X"06",X"47",X"52",X"45",X"41",X"54",X"20",X"53",X"43",X"4F",
- X"52",X"C5",X"8C",X"04",X"33",X"07",X"47",X"52",X"4F",X"53",X"53",X"41",X"52",X"54",X"49",X"47",
- X"45",X"53",X"20",X"45",X"52",X"47",X"45",X"42",X"4E",X"49",X"D3",X"EC",X"04",X"D3",X"06",X"53",
- X"50",X"4C",X"45",X"4E",X"44",X"49",X"44",X"45",X"20",X"53",X"43",X"4F",X"52",X"C5",X"0C",X"05",
- X"B3",X"06",X"47",X"52",X"41",X"4E",X"20",X"50",X"55",X"4E",X"54",X"41",X"4A",X"C5",X"52",X"05",
- X"6D",X"06",X"43",X"52",X"45",X"44",X"49",X"54",X"53",X"A0",X"52",X"05",X"6D",X"06",X"4B",X"52",
- X"45",X"44",X"49",X"54",X"45",X"A0",X"52",X"05",X"6D",X"06",X"43",X"52",X"45",X"44",X"49",X"54",
- X"53",X"A0",X"52",X"05",X"6D",X"06",X"43",X"52",X"45",X"44",X"49",X"54",X"4F",X"53",X"A0",X"F0",
- X"04",X"CF",X"06",X"32",X"20",X"43",X"52",X"45",X"44",X"49",X"54",X"20",X"4D",X"49",X"4E",X"49",
- X"4D",X"55",X"CD",X"30",X"04",X"8F",X"07",X"47",X"45",X"4C",X"44",X"45",X"49",X"4E",X"57",X"55",
- X"52",X"46",X"20",X"46",X"55",X"52",X"20",X"32",X"20",X"53",X"50",X"49",X"45",X"4C",X"C5",X"F0",
- X"04",X"CF",X"06",X"32",X"20",X"4A",X"55",X"45",X"58",X"20",X"4D",X"49",X"4E",X"49",X"4D",X"55",
- X"CD",X"F0",X"04",X"CF",X"06",X"32",X"20",X"4A",X"55",X"45",X"47",X"41",X"53",X"20",X"4D",X"49",
- X"4E",X"49",X"4D",X"B0",X"0A",X"66",X"8C",X"A8",X"0A",X"85",X"8B",X"A5",X"FD",X"29",X"03",X"05",
- X"8B",X"0A",X"AA",X"BD",X"BC",X"34",X"85",X"93",X"BD",X"BD",X"34",X"85",X"94",X"A0",X"00",X"A6",
- X"EF",X"F0",X"02",X"A0",X"02",X"B1",X"93",X"85",X"91",X"C8",X"B1",X"93",X"85",X"92",X"A0",X"04",
- X"84",X"8B",X"A4",X"8B",X"B1",X"93",X"29",X"3F",X"C9",X"20",X"F0",X"04",X"A6",X"8C",X"10",X"02",
- X"A9",X"00",X"C9",X"30",X"90",X"02",X"29",X"2F",X"20",X"85",X"38",X"A4",X"8B",X"E6",X"8B",X"B1",
- X"93",X"10",X"DF",X"60",X"A0",X"00",X"84",X"8C",X"F0",X"D6",X"10",X"05",X"49",X"FF",X"18",X"69",
- X"01",X"60",X"B9",X"1A",X"00",X"A8",X"F0",X"02",X"45",X"EF",X"A0",X"00",X"91",X"91",X"A9",X"20",
- X"45",X"EF",X"18",X"65",X"91",X"85",X"91",X"A5",X"F3",X"65",X"92",X"85",X"92",X"60",X"48",X"08",
- X"4A",X"4A",X"4A",X"4A",X"28",X"20",X"AB",X"38",X"68",X"29",X"0F",X"90",X"04",X"29",X"0F",X"F0",
- X"03",X"18",X"09",X"20",X"08",X"C9",X"2A",X"90",X"02",X"E9",X"29",X"20",X"85",X"38",X"28",X"60",
- X"48",X"8A",X"48",X"98",X"48",X"D8",X"A5",X"D2",X"F0",X"0A",X"A9",X"10",X"8D",X"02",X"10",X"A9",
- X"AF",X"8D",X"03",X"10",X"2C",X"00",X"0C",X"70",X"03",X"4C",X"B4",X"39",X"E6",X"8A",X"E6",X"00",
- X"D0",X"11",X"E6",X"01",X"F8",X"A5",X"FB",X"18",X"69",X"01",X"85",X"FB",X"A5",X"FC",X"69",X"00",
- X"85",X"FC",X"D8",X"A5",X"8A",X"C9",X"08",X"B0",X"FE",X"A5",X"C8",X"C9",X"25",X"B0",X"FE",X"C9",
- X"13",X"90",X"04",X"A9",X"12",X"85",X"C8",X"AD",X"03",X"0C",X"A6",X"88",X"AC",X"B8",X"01",X"20",
- X"31",X"3A",X"8C",X"B8",X"01",X"48",X"98",X"18",X"65",X"B9",X"85",X"B9",X"68",X"AC",X"B9",X"01",
- X"20",X"31",X"3A",X"8C",X"B9",X"01",X"98",X"20",X"7C",X"38",X"18",X"65",X"BB",X"85",X"BB",X"B5",
- X"C2",X"30",X"08",X"C9",X"40",X"90",X"15",X"29",X"3F",X"10",X"0B",X"29",X"3F",X"18",X"69",X"03",
- X"C9",X"2A",X"90",X"02",X"A9",X"00",X"95",X"C2",X"AA",X"20",X"5A",X"26",X"A2",X"0F",X"B5",X"64",
- X"9D",X"E0",X"07",X"B5",X"54",X"A0",X"00",X"E0",X"0D",X"F0",X"07",X"B4",X"44",X"10",X"03",X"18",
- X"69",X"01",X"9D",X"D0",X"07",X"98",X"29",X"80",X"85",X"99",X"AD",X"00",X"0C",X"29",X"20",X"D0",
- X"05",X"B5",X"34",X"4C",X"9D",X"39",X"B5",X"34",X"E0",X"0C",X"B0",X"1F",X"29",X"3F",X"C9",X"30",
- X"B0",X"19",X"29",X"0F",X"85",X"98",X"B5",X"64",X"29",X"07",X"F0",X"0D",X"A8",X"A9",X"08",X"C0",
- X"06",X"B0",X"06",X"C0",X"03",X"90",X"02",X"A9",X"0C",X"45",X"98",X"45",X"99",X"9D",X"C0",X"07",
- X"B5",X"34",X"29",X"40",X"F0",X"06",X"E0",X"0C",X"B0",X"02",X"A9",X"0C",X"09",X"39",X"9D",X"F0",
- X"07",X"CA",X"10",X"9A",X"AD",X"00",X"0C",X"29",X"20",X"D0",X"1F",X"A5",X"D5",X"30",X"3B",X"E6",
- X"D5",X"2C",X"00",X"0C",X"50",X"04",X"A9",X"00",X"85",X"D5",X"A5",X"D5",X"0A",X"0A",X"A2",X"03",
- X"9D",X"04",X"14",X"69",X"01",X"CA",X"10",X"F8",X"30",X"20",X"20",X"AD",X"33",X"A2",X"02",X"B5",
- X"C5",X"9D",X"00",X"1C",X"CA",X"10",X"F8",X"A2",X"0A",X"A9",X"F4",X"5D",X"03",X"20",X"CA",X"10",
- X"FA",X"AA",X"F0",X"06",X"BA",X"A9",X"03",X"9D",X"04",X"01",X"A2",X"02",X"BD",X"00",X"0C",X"A8",
- X"38",X"F5",X"BD",X"94",X"BD",X"29",X"0F",X"C9",X"08",X"90",X"02",X"09",X"F0",X"A8",X"F0",X"14",
- X"55",X"BA",X"10",X"08",X"98",X"5D",X"00",X"0C",X"10",X"02",X"B4",X"BA",X"98",X"95",X"BA",X"18",
- X"75",X"B9",X"95",X"B9",X"CA",X"CA",X"10",X"D4",X"8D",X"00",X"18",X"68",X"A8",X"68",X"AA",X"68",
- X"40",X"0A",X"90",X"06",X"0A",X"90",X"0E",X"A0",X"00",X"60",X"C0",X"FA",X"F0",X"05",X"B0",X"02",
- X"A0",X"00",X"88",X"0A",X"60",X"C0",X"06",X"F0",X"05",X"90",X"02",X"A0",X"00",X"C8",X"60",X"A0",
- X"3C",X"A9",X"FF",X"59",X"78",X"01",X"88",X"10",X"FA",X"AC",X"B5",X"01",X"8D",X"B5",X"01",X"98",
- X"4D",X"B5",X"01",X"60",X"A2",X"2F",X"BD",X"B0",X"3A",X"95",X"02",X"CA",X"10",X"F8",X"20",X"4F",
- X"3A",X"D0",X"2B",X"A5",X"FD",X"29",X"7C",X"CD",X"8A",X"01",X"8D",X"8A",X"01",X"D0",X"1E",X"AD",
- X"7A",X"01",X"F0",X"1A",X"A2",X"08",X"BD",X"78",X"01",X"95",X"02",X"C9",X"9A",X"B0",X"0F",X"29",
- X"0F",X"C9",X"0A",X"B0",X"09",X"BD",X"81",X"01",X"95",X"1A",X"CA",X"10",X"E9",X"60",X"A9",X"00",
- X"A2",X"3E",X"9D",X"78",X"01",X"CA",X"10",X"FA",X"A5",X"FD",X"29",X"7C",X"8D",X"8A",X"01",X"60",
- X"43",X"65",X"01",X"32",X"54",X"01",X"20",X"43",X"01",X"10",X"32",X"01",X"10",X"30",X"01",X"05",
- X"28",X"01",X"01",X"22",X"01",X"02",X"21",X"01",X"05",X"0A",X"04",X"04",X"06",X"14",X"03",X"01",
- X"04",X"04",X"03",X"02",X"05",X"04",X"00",X"04",X"05",X"17",X"04",X"06",X"17",X"07",X"0A",X"12",
- X"A2",X"3F",X"20",X"EE",X"3A",X"9D",X"78",X"01",X"CA",X"10",X"F7",X"86",X"F9",X"60",X"9D",X"00",
- X"16",X"A0",X"08",X"8C",X"80",X"16",X"C8",X"8C",X"80",X"16",X"88",X"8C",X"80",X"16",X"A0",X"00",
- X"BD",X"00",X"17",X"8C",X"80",X"16",X"60",X"A5",X"00",X"29",X"03",X"D0",X"17",X"8D",X"80",X"16",
- X"A6",X"F9",X"30",X"10",X"46",X"FA",X"90",X"0D",X"A9",X"02",X"8D",X"80",X"16",X"A9",X"0A",X"8D",
- X"80",X"16",X"C6",X"F9",X"60",X"78",X"20",X"EE",X"3A",X"DD",X"78",X"01",X"D0",X"07",X"CA",X"10",
- X"F5",X"58",X"86",X"F9",X"60",X"58",X"86",X"F9",X"A9",X"06",X"8D",X"80",X"16",X"BD",X"78",X"01",
- X"9D",X"00",X"16",X"A9",X"0E",X"8D",X"80",X"16",X"E6",X"FA",X"60",X"D8",X"A2",X"FF",X"9A",X"E8",
- X"8A",X"95",X"00",X"9D",X"00",X"01",X"9D",X"00",X"04",X"9D",X"00",X"05",X"9D",X"00",X"06",X"9D",
- X"00",X"07",X"CA",X"D0",X"EC",X"8D",X"0F",X"10",X"8D",X"08",X"10",X"8D",X"00",X"24",X"8D",X"07",
- X"1C",X"AD",X"00",X"0C",X"29",X"20",X"F0",X"19",X"AD",X"00",X"08",X"85",X"FD",X"CA",X"86",X"86",
- X"86",X"C1",X"86",X"C2",X"A9",X"01",X"85",X"FF",X"20",X"E0",X"3A",X"20",X"64",X"3A",X"4C",X"0E",
- X"20",X"8E",X"04",X"14",X"8E",X"01",X"10",X"8E",X"03",X"10",X"8E",X"05",X"10",X"8E",X"07",X"10",
- X"E8",X"8E",X"05",X"14",X"8E",X"0D",X"14",X"E8",X"8E",X"06",X"14",X"8E",X"0E",X"14",X"E8",X"8E",
- X"07",X"14",X"8E",X"0F",X"14",X"A2",X"00",X"B5",X"00",X"D0",X"43",X"A9",X"11",X"95",X"00",X"A8",
- X"55",X"00",X"D0",X"3A",X"98",X"0A",X"90",X"F5",X"E8",X"D0",X"EC",X"8D",X"00",X"20",X"8A",X"85",
- X"8B",X"2A",X"85",X"8C",X"A0",X"00",X"A2",X"11",X"B1",X"8B",X"D0",X"28",X"8A",X"91",X"8B",X"51",
- X"8B",X"D0",X"21",X"8A",X"0A",X"AA",X"90",X"F4",X"C8",X"D0",X"EB",X"8D",X"00",X"20",X"E6",X"8C",
- X"A5",X"8C",X"C9",X"02",X"D0",X"02",X"A9",X"04",X"C9",X"08",X"90",X"D6",X"B0",X"5F",X"C9",X"10",
- X"A9",X"00",X"10",X"12",X"A6",X"8C",X"E0",X"04",X"90",X"F4",X"AA",X"98",X"29",X"30",X"4A",X"4A",
- X"4A",X"4A",X"69",X"01",X"E0",X"10",X"2A",X"A8",X"A9",X"40",X"8D",X"00",X"10",X"A2",X"03",X"8E",
- X"0F",X"10",X"A2",X"10",X"A9",X"AF",X"8D",X"01",X"10",X"2C",X"00",X"0C",X"50",X"FB",X"2C",X"00",
- X"0C",X"70",X"FB",X"8D",X"00",X"20",X"CA",X"D0",X"F0",X"8E",X"01",X"10",X"A2",X"10",X"2C",X"00",
- X"0C",X"50",X"FB",X"2C",X"00",X"0C",X"70",X"FB",X"8D",X"00",X"20",X"CA",X"D0",X"F0",X"88",X"10",
- X"D1",X"8D",X"00",X"20",X"AD",X"00",X"0C",X"29",X"20",X"F0",X"F6",X"D0",X"FE",X"AD",X"01",X"0C",
- X"29",X"10",X"F0",X"03",X"4C",X"DE",X"3C",X"AA",X"95",X"00",X"E8",X"D0",X"FB",X"A2",X"0F",X"A9",
- X"F8",X"95",X"64",X"CA",X"10",X"FB",X"A9",X"07",X"85",X"8C",X"A0",X"BF",X"A9",X"2D",X"A2",X"08",
- X"91",X"8B",X"88",X"CA",X"D0",X"FA",X"38",X"E9",X"01",X"C9",X"2A",X"B0",X"F1",X"C0",X"FF",X"D0",
- X"EB",X"C6",X"8C",X"A5",X"8C",X"C9",X"04",X"B0",X"E3",X"58",X"AD",X"00",X"0C",X"29",X"20",X"D0",
- X"F9",X"46",X"8A",X"8D",X"00",X"20",X"AD",X"01",X"0C",X"29",X"E0",X"49",X"E0",X"F0",X"EB",X"A9",
- X"1D",X"78",X"9D",X"00",X"04",X"9D",X"00",X"05",X"9D",X"00",X"06",X"E8",X"D0",X"F4",X"9D",X"00",
- X"07",X"E8",X"E0",X"C0",X"90",X"F8",X"A2",X"08",X"8E",X"05",X"14",X"A2",X"0F",X"8E",X"04",X"14",
- X"AD",X"00",X"0C",X"29",X"20",X"D0",X"F9",X"8D",X"00",X"20",X"46",X"8A",X"10",X"F2",X"A2",X"00",
- X"8A",X"9D",X"00",X"07",X"A9",X"00",X"95",X"00",X"9D",X"00",X"04",X"9D",X"00",X"05",X"9D",X"00",
- X"06",X"E8",X"D0",X"EC",X"CA",X"86",X"D5",X"86",X"E3",X"8D",X"03",X"1C",X"8D",X"04",X"1C",X"A2",
- X"0F",X"8A",X"09",X"80",X"95",X"54",X"95",X"64",X"CA",X"10",X"F6",X"AD",X"0A",X"10",X"4D",X"0A",
- X"10",X"85",X"E5",X"A9",X"03",X"8D",X"0F",X"10",X"A2",X"00",X"86",X"8B",X"A9",X"20",X"85",X"8C",
- X"A2",X"1F",X"A9",X"FF",X"A0",X"00",X"8E",X"00",X"20",X"51",X"8B",X"C8",X"D0",X"FB",X"A8",X"8A",
- X"29",X"07",X"C9",X"01",X"98",X"B0",X"03",X"48",X"A9",X"FF",X"E6",X"8C",X"CA",X"10",X"E5",X"A9",
- X"04",X"85",X"92",X"A2",X"03",X"8A",X"49",X"3F",X"85",X"91",X"68",X"F0",X"11",X"48",X"8A",X"09",
- X"20",X"20",X"85",X"38",X"A9",X"00",X"20",X"85",X"38",X"68",X"18",X"20",X"9E",X"38",X"CA",X"10",
- X"E4",X"20",X"E0",X"3A",X"A0",X"06",X"B9",X"8B",X"01",X"99",X"8E",X"00",X"88",X"10",X"F7",X"F8",
- X"AD",X"8B",X"01",X"0D",X"8C",X"01",X"0D",X"8D",X"01",X"F0",X"1F",X"C8",X"C8",X"F0",X"1B",X"A5",
- X"91",X"38",X"E5",X"8E",X"85",X"91",X"A5",X"92",X"E5",X"8F",X"85",X"92",X"A5",X"93",X"E5",X"90",
- X"85",X"93",X"A5",X"94",X"E9",X"00",X"85",X"94",X"10",X"E2",X"D8",X"84",X"8D",X"58",X"46",X"8A",
- X"90",X"FC",X"AD",X"00",X"0C",X"29",X"20",X"D0",X"FE",X"8D",X"00",X"20",X"AD",X"01",X"0C",X"4A",
- X"26",X"EA",X"A5",X"EA",X"29",X"03",X"C9",X"02",X"D0",X"24",X"A5",X"E6",X"AA",X"18",X"69",X"02",
- X"29",X"06",X"85",X"E6",X"A9",X"00",X"9D",X"01",X"10",X"A5",X"E7",X"18",X"69",X"01",X"29",X"0F",
- X"85",X"E7",X"A6",X"E8",X"E8",X"8A",X"29",X"0F",X"AA",X"8E",X"04",X"14",X"86",X"E8",X"AD",X"01",
- X"0C",X"4A",X"4A",X"26",X"EB",X"A5",X"EB",X"29",X"03",X"C9",X"02",X"D0",X"16",X"E6",X"E9",X"A5",
- X"E9",X"A0",X"01",X"18",X"69",X"01",X"29",X"0F",X"99",X"04",X"14",X"99",X"0C",X"14",X"C8",X"C0",
- X"04",X"90",X"F0",X"AD",X"01",X"0C",X"4A",X"4A",X"4A",X"26",X"EC",X"A5",X"EC",X"29",X"03",X"49",
- X"02",X"D0",X"07",X"A2",X"0F",X"F6",X"34",X"CA",X"10",X"FB",X"A9",X"05",X"85",X"92",X"A9",X"38",
- X"85",X"91",X"AD",X"00",X"08",X"29",X"0C",X"4A",X"4A",X"69",X"01",X"85",X"8B",X"A2",X"05",X"A9",
- X"1F",X"24",X"8B",X"10",X"02",X"A9",X"00",X"20",X"85",X"38",X"C6",X"8B",X"CA",X"D0",X"F0",X"A9",
- X"37",X"85",X"91",X"A9",X"21",X"20",X"85",X"38",X"A9",X"21",X"20",X"85",X"38",X"A9",X"21",X"20",
- X"85",X"38",X"A9",X"36",X"85",X"91",X"A9",X"00",X"A8",X"91",X"91",X"A0",X"40",X"91",X"91",X"AD",
- X"01",X"08",X"4A",X"4A",X"4A",X"4A",X"4A",X"F0",X"1B",X"AA",X"C9",X"06",X"B0",X"16",X"BD",X"D8",
- X"3F",X"20",X"85",X"38",X"A9",X"00",X"20",X"85",X"38",X"A9",X"21",X"E0",X"03",X"D0",X"02",X"A9",
- X"22",X"20",X"85",X"38",X"A9",X"3F",X"85",X"94",X"A9",X"EE",X"2C",X"00",X"08",X"50",X"02",X"A9",
- X"F2",X"85",X"93",X"A9",X"35",X"85",X"91",X"20",X"74",X"38",X"AD",X"01",X"0C",X"85",X"DF",X"AD",
- X"00",X"08",X"85",X"DD",X"AD",X"01",X"08",X"85",X"DE",X"AD",X"00",X"0C",X"29",X"8F",X"85",X"E0",
- X"AD",X"02",X"0C",X"29",X"8F",X"85",X"E1",X"AD",X"03",X"0C",X"85",X"E2",X"AD",X"0A",X"10",X"48",
- X"25",X"E3",X"85",X"E3",X"68",X"05",X"E4",X"85",X"E4",X"A2",X"00",X"AD",X"01",X"0C",X"38",X"2A",
- X"B0",X"01",X"E8",X"0A",X"D0",X"FA",X"8A",X"A4",X"E6",X"0A",X"0A",X"0A",X"99",X"00",X"10",X"8A",
- X"09",X"A0",X"99",X"01",X"10",X"A6",X"E7",X"A0",X"00",X"A5",X"B9",X"84",X"B9",X"18",X"75",X"54",
- X"95",X"54",X"B5",X"64",X"38",X"E5",X"BB",X"84",X"BB",X"95",X"64",X"A0",X"D0",X"A2",X"05",X"9A",
- X"A2",X"07",X"8A",X"BA",X"36",X"DD",X"AA",X"A9",X"21",X"B0",X"02",X"A9",X"20",X"C8",X"99",X"00",
- X"04",X"CA",X"10",X"EE",X"98",X"38",X"E9",X"28",X"A8",X"BA",X"CA",X"10",X"E2",X"A9",X"04",X"85",
- X"92",X"A9",X"3A",X"85",X"91",X"A5",X"E4",X"49",X"FF",X"05",X"E3",X"05",X"E5",X"F0",X"02",X"A9",
- X"25",X"20",X"85",X"38",X"20",X"07",X"3B",X"20",X"4F",X"3A",X"8C",X"B5",X"01",X"F0",X"16",X"48",
- X"A9",X"3B",X"85",X"91",X"A9",X"24",X"20",X"85",X"38",X"A9",X"00",X"20",X"85",X"38",X"68",X"20",
- X"9E",X"38",X"4C",X"D6",X"3F",X"A9",X"04",X"85",X"92",X"A9",X"E9",X"85",X"91",X"38",X"AD",X"8D",
- X"01",X"20",X"9E",X"38",X"AD",X"8C",X"01",X"20",X"9E",X"38",X"AD",X"8B",X"01",X"18",X"20",X"9E",
- X"38",X"A9",X"DE",X"85",X"93",X"A9",X"3F",X"85",X"94",X"20",X"74",X"38",X"A9",X"05",X"85",X"92",
- X"A9",X"08",X"85",X"91",X"A5",X"8D",X"4A",X"4A",X"4A",X"4A",X"F8",X"18",X"69",X"00",X"D8",X"38",
- X"20",X"9E",X"38",X"A9",X"2E",X"20",X"85",X"38",X"A5",X"8D",X"29",X"0F",X"F8",X"18",X"69",X"00",
- X"85",X"8E",X"65",X"8E",X"85",X"8E",X"65",X"8E",X"D8",X"C9",X"60",X"90",X"02",X"A9",X"59",X"18",
- X"20",X"9E",X"38",X"A9",X"E4",X"85",X"93",X"A9",X"3F",X"85",X"94",X"20",X"74",X"38",X"A5",X"EA",
- X"05",X"EB",X"05",X"EC",X"D0",X"10",X"AD",X"B5",X"01",X"49",X"FF",X"8D",X"B5",X"01",X"A9",X"3D",
- X"85",X"F9",X"A9",X"00",X"85",X"FA",X"4C",X"9E",X"3D",X"22",X"24",X"24",X"25",X"23",X"20",X"50",
- X"4C",X"41",X"59",X"D3",X"20",X"47",X"41",X"4D",X"45",X"20",X"54",X"49",X"4D",X"C5",X"48",X"41",
- X"52",X"C4",X"45",X"41",X"53",X"D9",X"4C",X"F6",X"3F",X"13",X"F6",X"3F",X"4B",X"3B",X"C0",X"38");
-begin
-process(clk)
-begin
- if rising_edge(clk) then
- data <= rom_data(to_integer(unsigned(addr)));
- end if;
-end process;
-end architecture;