diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/KingBaloon.qsf b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/KingBaloon.qsf index 77aee543..0dd7647f 100644 --- a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/KingBaloon.qsf +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/KingBaloon.qsf @@ -18,7 +18,7 @@ # # Quartus II 64-Bit # Version 13.1.4 Build 182 03/12/2014 SJ Web Edition -# Date created = 16:42:52 March 10, 2019 +# Date created = 21:14:56 August 16, 2019 # # -------------------------------------------------------------------------- # # @@ -46,41 +46,6 @@ set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL set_global_assignment -name SMART_RECOMPILE ON set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:rtl/build_id.tcl" -set_global_assignment -name SYSTEMVERILOG_FILE rtl/KingBalloon_MiST.sv -set_global_assignment -name VHDL_FILE rtl/kingballon.vhd -set_global_assignment -name VHDL_FILE rtl/mc_video.vhd -set_global_assignment -name VHDL_FILE rtl/mc_stars.vhd -set_global_assignment -name VHDL_FILE rtl/mc_missile.vhd -set_global_assignment -name VHDL_FILE rtl/mc_logic.vhd -set_global_assignment -name VHDL_FILE rtl/mc_ld_pls.vhd -set_global_assignment -name VHDL_FILE rtl/mc_inport.vhd -set_global_assignment -name VHDL_FILE rtl/mc_hv_count.vhd -set_global_assignment -name VHDL_FILE rtl/mc_col_pal.vhd -set_global_assignment -name VHDL_FILE rtl/mc_bram.vhd -set_global_assignment -name VHDL_FILE rtl/mc_adec.vhd -set_global_assignment -name VHDL_FILE rtl/mc_sound_a.vhd -set_global_assignment -name VHDL_FILE rtl/mc_sound_b.vhd -set_global_assignment -name VHDL_FILE rtl/sine_package.vhd -set_global_assignment -name VHDL_FILE rtl/ROM/GAL_FIR.vhd -set_global_assignment -name VHDL_FILE rtl/ROM/GAL_HIT.vhd -set_global_assignment -name VHDL_FILE rtl/mc_sound_vco.vhd -set_global_assignment -name VHDL_FILE rtl/cpu/T80sed.vhd -set_global_assignment -name VHDL_FILE rtl/cpu/T80as.vhd -set_global_assignment -name VHDL_FILE rtl/cpu/T80_Reg.vhd -set_global_assignment -name VHDL_FILE rtl/cpu/T80_Pack.vhd -set_global_assignment -name VHDL_FILE rtl/cpu/T80_MCode.vhd -set_global_assignment -name VHDL_FILE rtl/cpu/T80_ALU.vhd -set_global_assignment -name VHDL_FILE rtl/cpu/T80.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/sprom.vhd -set_global_assignment -name VHDL_FILE rtl/pll.vhd -set_global_assignment -name SYSTEMVERILOG_FILE rtl/video_mixer.sv -set_global_assignment -name VERILOG_FILE rtl/scandoubler.v -set_global_assignment -name VERILOG_FILE rtl/osd.v -set_global_assignment -name VERILOG_FILE rtl/mist_io.v -set_global_assignment -name SYSTEMVERILOG_FILE rtl/hq2x.sv -set_global_assignment -name VHDL_FILE rtl/dac.vhd # Pin & Location Assignments # ========================== @@ -175,10 +140,55 @@ 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_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top # end DESIGN_PARTITION(Top) # ------------------------- # end ENTITY(KingBalloon_MiST) -# ---------------------------- \ No newline at end of file +# ---------------------------- +set_global_assignment -name SYSTEMVERILOG_FILE rtl/KingBalloon_MiST.sv +set_global_assignment -name VHDL_FILE rtl/kingballon.vhd +set_global_assignment -name VHDL_FILE rtl/kb_synth.vhd +set_global_assignment -name VHDL_FILE rtl/mc_video.vhd +set_global_assignment -name VHDL_FILE rtl/mc_missile.vhd +set_global_assignment -name VHDL_FILE rtl/mc_logic.vhd +set_global_assignment -name VHDL_FILE rtl/mc_ld_pls.vhd +set_global_assignment -name VHDL_FILE rtl/mc_inport.vhd +set_global_assignment -name VHDL_FILE rtl/mc_stars.vhd +set_global_assignment -name VHDL_FILE rtl/mc_hv_count.vhd +set_global_assignment -name VHDL_FILE rtl/mc_col_pal.vhd +set_global_assignment -name VHDL_FILE rtl/mc_bram.vhd +set_global_assignment -name VHDL_FILE rtl/mc_adec.vhd +set_global_assignment -name VHDL_FILE rtl/mc_sound_a.vhd +set_global_assignment -name VHDL_FILE rtl/mc_sound_b.vhd +set_global_assignment -name VHDL_FILE rtl/sine_package.vhd +set_global_assignment -name VHDL_FILE rtl/ROM/prog.vhd +set_global_assignment -name VHDL_FILE rtl/ROM/rom_h.vhd +set_global_assignment -name VHDL_FILE rtl/ROM/rom_k.vhd +set_global_assignment -name VHDL_FILE rtl/ROM/col.vhd +set_global_assignment -name VHDL_FILE "rtl/ROM/kbe1-4.vhd" +set_global_assignment -name VHDL_FILE "rtl/ROM/kbe2-5.vhd" +set_global_assignment -name VHDL_FILE "rtl/ROM/kbe3-6.vhd" +set_global_assignment -name VHDL_FILE rtl/ROM/GAL_FIR.vhd +set_global_assignment -name VHDL_FILE rtl/ROM/GAL_HIT.vhd +set_global_assignment -name VHDL_FILE rtl/mc_sound_vco.vhd +set_global_assignment -name VHDL_FILE rtl/cpu/T80sed.vhd +set_global_assignment -name VHDL_FILE rtl/cpu/T80as.vhd +set_global_assignment -name VHDL_FILE rtl/cpu/T80_Reg.vhd +set_global_assignment -name VHDL_FILE rtl/cpu/T80_Pack.vhd +set_global_assignment -name VHDL_FILE rtl/cpu/T80_MCode.vhd +set_global_assignment -name VHDL_FILE rtl/cpu/T80_ALU.vhd +set_global_assignment -name VHDL_FILE rtl/cpu/T80.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 SYSTEMVERILOG_FILE rtl/video_mixer.sv +set_global_assignment -name VERILOG_FILE rtl/scandoubler.v +set_global_assignment -name VERILOG_FILE rtl/osd.v +set_global_assignment -name VERILOG_FILE rtl/mist_io.v +set_global_assignment -name SYSTEMVERILOG_FILE rtl/hq2x.sv +set_global_assignment -name VHDL_FILE rtl/dac.vhd +set_global_assignment -name VHDL_FILE rtl/ttl_74138.vhd +set_global_assignment -name VHDL_FILE rtl/ttl_74273.vhd +set_global_assignment -name VHDL_FILE rtl/ttl_74367.vhd +set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/README.txt b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/README.txt index d3a83bb6..7c62e33e 100644 --- a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/README.txt +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/README.txt @@ -23,4 +23,4 @@ --------------------------------------------------------------------------------- -ToDo: Change Sound and add Speech \ No newline at end of file +ToDo: add Speech \ No newline at end of file diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/Release/KingBaloon.rbf b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/Release/KingBaloon.rbf index e1d13678..d409f213 100644 Binary files a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/Release/KingBaloon.rbf and b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/Release/KingBaloon.rbf differ diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/KingBalloon_MiST.sv b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/KingBalloon_MiST.sv index 0185edf0..b6867af1 100644 --- a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/KingBalloon_MiST.sv +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/KingBalloon_MiST.sv @@ -43,7 +43,8 @@ localparam CONF_STR = { "King and Ball.;;", "O2,Rotate Controls,Off,On;", "O34,Scanlines,Off,25%,50%,75%;", - "T6,Reset;", + "T5,Reset;", + "V,v1.20.",`BUILD_DATE }; @@ -69,8 +70,8 @@ wire [7:0] joystick_1; wire scandoublerD; wire ypbpr; wire [10:0] ps2_key; -wire [7:0] audio_a, audio_b; -wire [10:0] audio = {1'b0, audio_b, 2'b0} + {3'b0, audio_a}; +wire [7:0] audio_a, audio_b, audio_c; +wire [10:0] audio = {audio_c, 3'b0} + {1'b0, audio_b, 2'b0} + {3'b0, audio_a}; wire hs, vs; wire hb, vb; wire blankn = ~(hb | vb); @@ -80,7 +81,7 @@ kingballoon kingballoon( .W_CLK_18M(clk_18), .W_CLK_12M(clk_12), .W_CLK_6M(clk_6), - .I_RESET(status[0] | status[6] | buttons[1]), + .I_RESET(status[0] | status[5] | buttons[1]), .P1_CSJUDLR({btn_coin,btn_one_player,m_fire,m_down,m_up,m_left,m_right}), .P2_CSJUDLR({status[1],btn_two_players,m_fire,m_down,m_up,m_left,m_right}), .W_R(r), @@ -89,9 +90,10 @@ kingballoon kingballoon( .W_H_SYNC(hs), .W_V_SYNC(vs), .HBLANK(hb), - .VBLANK(vb), + .VBLANK(vb), .W_SDAT_A(audio_a), - .W_SDAT_B(audio_b) + .W_SDAT_B(audio_b), + .W_SDAT_C(audio_c) ); video_mixer video_mixer( @@ -156,7 +158,7 @@ wire m_left = ~status[2] ? btn_up | joystick_0[3] | joystick_1[3] : btn_left | wire m_right = ~status[2] ? btn_down | joystick_0[2] | joystick_1[2] : btn_right | joystick_0[0] | joystick_1[0]; wire m_fire = btn_fire1 | joystick_0[4] | joystick_1[4]; -wire m_bomb = btn_fire2 | joystick_0[5] | joystick_1[5]; +//wire m_bomb = btn_fire2 | joystick_0[5] | joystick_1[5]; reg btn_one_player = 0; reg btn_two_players = 0; @@ -166,7 +168,7 @@ reg btn_down = 0; reg btn_up = 0; reg btn_fire1 = 0; reg btn_fire2 = 0; -reg btn_fire3 = 0; +//reg btn_fire3 = 0; reg btn_coin = 0; wire pressed = ps2_key[9]; wire [7:0] code = ps2_key[7:0]; @@ -183,7 +185,6 @@ always @(posedge clk_24) begin 'h76: btn_coin <= pressed; // ESC 'h05: btn_one_player <= pressed; // F1 'h06: btn_two_players <= pressed; // F2 - 'h14: btn_fire3 <= pressed; // ctrl 'h11: btn_fire2 <= pressed; // alt 'h29: btn_fire1 <= pressed; // Space endcase diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/col.hex b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/col.hex deleted file mode 100644 index 76f86dc6..00000000 --- a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/col.hex +++ /dev/null @@ -1,3 +0,0 @@ -:100000000017C7F60017C03F0007C03F00C0C40775 -:1000100000C731170031C73F00F607F0003F07C4A3 -:00000001FF diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/col.vhd b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/col.vhd new file mode 100644 index 00000000..be83394e --- /dev/null +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/col.vhd @@ -0,0 +1,24 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity col is +port ( + clk : in std_logic; + addr : in std_logic_vector(4 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of col is + type rom is array(0 to 31) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"00",X"D8",X"F0",X"07",X"00",X"3F",X"F6",X"07",X"00",X"F6",X"38",X"07",X"00",X"3F",X"38",X"2F", + X"00",X"2F",X"38",X"3F",X"00",X"07",X"38",X"F6",X"00",X"3F",X"16",X"F0",X"00",X"38",X"2F",X"F0"); +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/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/h.hex b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/h.hex deleted file mode 100644 index 9d1685a7..00000000 --- a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/h.hex +++ /dev/null @@ -1,129 +0,0 @@ -:10000000387CC282867C38000202FEFE420200007A -:1000100062F2BA9A9ECE46008CDEF2B2928604005C -:1000200008FEFEC8683818001CBEA2A2A2E6E400C2 -:100030000C9E9292D27E3C00C0E0B09E8EC0C0006A -:100040000C6E9A9AB2F26C0078FC969292F2600072 -:100050003E7EC888C87E3E006CFE929292FEFE00F4 -:1000600044C68282C67C3800387CC68282FEFE008E -:1000700082929292FEFE00008090909090FEFE0090 -:100080009E9E9282C67C3800FEFE101010FEFE007E -:100090008282FEFE82820000FCFE02020206040052 -:1000A00082C66E3C18FEFE0002020202FEFE000046 -:1000B000FEFE703870FEFE00FEFE1C3870FEFE0074 -:1000C0007CFE828282FE7C0070F8888888FEFE00BA -:1000D0007AFC8E8A82FE7C0072F69E8C88FEFE0080 -:1000E0000C5ED29292F664008080FEFE808000005A -:1000F000FCFE020202FEFC00F0F81C0E1CF8F000F0 -:10010000FEFE1C381CFEFE00C6EE7C387CEEC600EF -:10011000E0F01E1EF0E00000C2E2F2BA9E8E860001 -:100120000000000000000000FFFFFFFFFFFFFFFFD7 -:10013000000001070F1F3F3F0000C08080C080808B -:100140003F3F3F1F0F070100C08080C08080C0007C -:10015000000001070F1F3F3F3F3F3F1F0F070100F8 -:10016000000000000000000000000000000040004F -:10017000000000000000000040000000000000003F -:10018000000000000000000000000000000000006F -:10019000000000000000000000000000000000005F -:1001A000000000000000000007070F0F0F0F0F07EF -:1001B000FFFF0F0F0FFFFFFF000000000000000017 -:1001C000000000000000000000000000000000002F -:1001D00000000000000000000707070F0F0F0F0FBF -:1001E000FF0F0F0FFEF8E0000F0F0F0F0F070707AD -:1001F00000E0F8FE0F0F0FFF07070707FFFFFFFFE5 -:10020000070F0F0F0F0F0707FFFF0F0F0FFFFFFF66 -:10021000270717070313032300C0E0F0380200008C -:1002200000000000000000010000000000000000CD -:1002300003030303030303030001000000000000A5 -:100240000200000000000000030303030303030394 -:10025000000000000000000100000000000000009D -:100260000303030303030303000100000000000075 -:100270000200000000000000030303030303030364 -:1002800000FFFFFFFFFFFFFF0000FFFFFFFFFFFF7B -:10029000000000FFFFFFFFFF00000000FFFFFFFF67 -:1002A0000000000000FFFFFF000000000000FFFF53 -:1002B00000000000000000FF00000000000000003F -:1002C000FF00000000000000FFFF00000000000031 -:1002D000FFFFFF0000000000FFFFFFFF0000000025 -:1002E000FFFFFFFFFF000000FFFFFFFFFFFF000019 -:1002F000FFFFFFFFFFFFFF00FFFFFFFFFFFFFFFF0D -:1003000003FFFFFFFFFFFFFF0303FFFFFFFFFFFFF1 -:10031000030303FFFFFFFFFF03030303FFFFFFFFD1 -:100320000303030303FFFFFF030303030303FFFFB1 -:1003300003030303030303FF030303030303030391 -:10034000FF03030303030303FFFF03030303030389 -:10035000FFFFFF0303030303FFFFFFFF0303030389 -:10036000FFFFFFFFFF030303FFFFFFFFFFFF030389 -:10037000FFFFFFFFFFFFFF03FFFFFFFFFFFFFFFF89 -:1003800000000000000744FF0000000000000744D8 -:100390000000000000000007000000000000000056 -:1003A000000000000000000000000000000000004D -:1003B000000000000000000000000000000000003D -:1003C0000707070703C353FB070707070303C353C5 -:1003D00007070707030303C307070707030303030D -:1003E00007070707030303030707070703030303BD -:1003F00007070707030303030707070703030303AD -:10040000FF44070000000000FFFF44070000000059 -:1004100044FFFF44070000000744FFFF44070000BB -:10042000000744FFFF44070000000744FFFF4407A4 -:100430000000000744FFFF44000000000744FFFFE6 -:10044000FF57C70703030303FFFF57C70303030354 -:1004500057FFFF57C3030303C757FFFF53C30303EC -:1004600007C757FFFB53C3030707C757FBFB53C31C -:10047000070707C753FBFB5307070707C353FBFBDC -:10048000000000000000000000000000000000006C -:10049000000000000000000000000000000000005C -:1004A000000000000000000000000000000000004C -:1004B00007000000000000004407000000000000EA -:1004C00007070707030303030707070703030303DC -:1004D00007070707030303030707070703030303CC -:1004E00007070707030303030707070703030303BC -:1004F000C70707070303030347C7070703030303EC -:1005000003000008002844400082040192002004F7 -:100510000020000009000009000000120060001027 -:10052000000000000000000707070707030303C3DC -:1005300044FF00000000FF4457FF07070303FB537D -:100540000700000000000000C707070703030303BC -:100550000203020203020202070707078383838361 -:10056000030203020203020387070707030303834F -:100570000202020302020302878787870303030341 -:1005800000000003070F1F1F000000A0D0C8C0C05C -:100590001F0F070300000000C0C8D0A0000000002B -:1005A00000000000070F1F3F0000000040B08080E7 -:1005B0003F3F3F1F070000008090A0C000000000E8 -:1005C0000000000E1F3F7F7F0000008040200000E1 -:1005D0007F3F1F0E00000000002040800000000050 -:1005E0000000071F3F3F3F3F000000C0A0908080F9 -:1005F0001F0F07000000000080B040000000000056 -:10060000000000000006050200000000008040908D -:100610000503030000000000F040A01000000000EF -:100620000002010402022012000020401898244019 -:10063000260B010202040000402090C02090000020 -:10064000007C82827C007C82827C0062928A86624C -:10065000827C008CD2A28284827C0008FE4828180A -:10066000827C009CA2A2A2E4827C000C9292523C6A -:10067000827C00C0A0908E807C82827C007C828202 -:10068000000000000000100000000000000000401A -:10069000100000000000000000000000000000004A -:1006A00000000000000010000000000000000040FA -:1006B000100000000000000000000000000000002A -:1006C00000000000000010000000000000000040DA -:1006D000100000000000000000000000000000000A -:1006E00000000000000010000000000000000040BA -:1006F00010000000000000000000000000000000EA -:100700003C4281A5A599423CC0C0C0C0FFFF00008B -:10071000DBDBDF1F00007FFFFF00007FFFDBDBDB99 -:10072000FFC0C0FFFFC0C0FFC3C3C3FF7E00007F88 -:10073000C3FF7E0000C3C3C30000007EFFC3C3C36A -:10074000000000000000000000000206060E0E0E71 -:1007500000000000000000000E0E0606020000006F -:1007600002D9D8DAD9D8D8D80000804020806000DB -:10077000D8D8D9DAD8D902006080204080000000A3 -:100780000000030F1C30400F00008000000000003C -:10079000FF0F40301C0F0300FE0206000000800027 -:1007A0007C007C82827C00FE7C009CA2A2E400FE95 -:1007B000080808FF080808080000000000060600F6 -:1007C00000000006363676760000804020100000DB -:1007D00076763636060000000000102040800000CB -:1007E000000001070F1F3F3F0000C08080C08080D5 -:1007F0003F3F3F1F0F070100C08080C08080C000C6 -:00000001FF diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/k.hex b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/k.hex deleted file mode 100644 index 34666df8..00000000 --- a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/k.hex +++ /dev/null @@ -1,129 +0,0 @@ -:10000000387CC282867C38000202FEFE420200007A -:1000100062F2BA9A9ECE46008CDEF2B2928604005C -:1000200008FEFEC8683818001CBEA2A2A2E6E400C2 -:100030000C9E9292D27E3C00C0E0B09E8EC0C0006A -:100040000C6E9A9AB2F26C0078FC969292F2600072 -:100050003E7EC888C87E3E006CFE929292FEFE00F4 -:1000600044C68282C67C3800387CC68282FEFE008E -:1000700082929292FEFE00008090909090FEFE0090 -:100080009E9E9282C67C3800FEFE101010FEFE007E -:100090008282FEFE82820000FCFE02020206040052 -:1000A00082C66E3C18FEFE0002020202FEFE000046 -:1000B000FEFE703870FEFE00FEFE1C3870FEFE0074 -:1000C0007CFE828282FE7C0070F8888888FEFE00BA -:1000D0007AFC8E8A82FE7C0072F69E8C88FEFE0080 -:1000E0000C5ED29292F664008080FEFE808000005A -:1000F000FCFE020202FEFC00F0F81C0E1CF8F000F0 -:10010000FEFE1C381CFEFE00C6EE7C387CEEC600EF -:10011000E0F01E1EF0E00000C2E2F2BA9E8E860001 -:100120000000000000000000FFFFFFFFFFFFFFFFD7 -:10013000000001070F1F28280000C08080C08080B9 -:10014000EA22221F0F070100FF8183C08080C000C8 -:10015000000001070F112E2EF13F201F0F07010095 -:10016000000001000403010700C0FE067E0E5E1EB3 -:1001700001030400010000005E0E7E06FEC00000C8 -:10018000000000000000000F0000000000001FFF42 -:10019000000001071FFFFFFF00E0F0F8FFFFFFFF77 -:1001A00000000000FFFFF3E300000000F0F0F0F8B3 -:1001B00000000000000000001F0000000000000020 -:1001C000FFFF1F0701000000FFFFFFF8F0E0000045 -:1001D000F3FFFF0000000000F8F8F8000000000046 -:1001E000000000000000000000000000F0F8F8F837 -:1001F000000000000000000007070707FFFFFFFFE7 -:10020000F8F0F00000000000000000000000000016 -:10021000270717070313032300C0E0F0380200008C -:100220000000030100110C040000FD8D1DFD3D7850 -:1002300003030F8FC7E7FFFF1C040C11000103002D -:1002400078783DFD1D8DFD00E3FFFFE7C78F0F03AD -:100250000001030000110C040081FD0D1DFD3D781F -:10026000030F8FC7E7FFFFE31C040C11000003011D -:1002700078783DFD1D0DFD81E3E3FFFFE7C78F0F9C -:1002800000FFFFFFFFFFFFFF0000FFFFFFFFFFFF7B -:10029000000000FFFFFFFFFF00000000FFFFFFFF67 -:1002A0000000000000FFFFFF000000000000FFFF53 -:1002B00000000000000000FF00000000000000003F -:1002C000FF00000000000000FFFF00000000000031 -:1002D000FFFFFF0000000000FFFFFFFF0000000025 -:1002E000FFFFFFFFFF000000FFFFFFFFFFFF000019 -:1002F000FFFFFFFFFFFFFF00FFFFFFFFFFFFFFFF0D -:1003000003FFFFFFFFFFFFFF0303FFFFFFFFFFFFF1 -:10031000030303FFFFFFFFFF03030303FFFFFFFFD1 -:100320000303030303FFFFFF030303030303FFFFB1 -:1003300003030303030303FF030303030303030391 -:10034000FF03030303030303FFFF03030303030389 -:10035000FFFFFF0303030303FFFFFFFF0303030389 -:10036000FFFFFFFFFF030303FFFFFFFFFFFF030389 -:10037000FFFFFFFFFFFFFF03FFFFFFFFFFFFFFFF89 -:10038000003B3B3B1100000000003B3B3B110000E9 -:100390000000003B3B3B1100000000003B3B3B11D9 -:1003A00000000000003B3B3B0000000000003B3B26 -:1003B000000000000000003B000000000000000002 -:1003C0003FEFC7FF0B030303073FEFC7FB0B03031D -:1003D00007073FEFC3FB0B030707073FEBC3FB0B0D -:1003E0000707070703C3FBCB070707070303C3FB85 -:1003F00007070707030303C30707070703030303ED -:10040000000000113B3B3B0000000000113B3B3B68 -:100410000000000000113B3B000000000000113B09 -:1004200011000000000000113B110000000000005E -:100430003B3B1100000000003B3B3B110000000073 -:1004400007070707CBFBC3030707070703CBFBC35C -:10045000070707070303CBFB07070707030303CBC4 -:10046000070707070303030BCF070707030303036C -:10047000FFCF070703030303C7FFC70703030303F4 -:10048000000000000000000000000000000000006C -:100490003B000000000000003B3B000000000000AB -:1004A0003B3B3B0000000000113B3B3B00000000D9 -:1004B00000113B3B3B0000000000113B3B3B0000B8 -:1004C00007070707030303030707070703030303DC -:1004D000C707070703030303FFC707070303030354 -:1004E000FFC7EF3F030303030FFFC7EF3B03030304 -:1004F000070FFFC7EB3B030307070FFFC3EB3B03EC -:1005000003280248002044400092042102022004F3 -:1005100000220020080044090014000200640210B8 -:100520000000003B3B3B1100070707C7FBCB030361 -:100530000000000000000000070707070303030393 -:1005400000113B3B3B0000000707CFFFC303030341 -:100550000000000000000000073F7F3F033B7B3BA3 -:1005600000000000000000003F1717373313133B53 -:1005700000000000000000003F7F3F073B7B3B0383 -:1005800000000003070F1F1F00000080C0C0C7C786 -:100590001F0F070300000000C7C0C080000000005C -:1005A00000000000070F1F3F0000000000808E8E3B -:1005B0003F3F3F1F070000008E808080000000004A -:1005C0000000000E1F3F7F7F0000000000001C1C89 -:1005D0007F3F1F0E000000001C0000000000000014 -:1005E0000000071F3F3F3F3F0000008080808E8E4D -:1005F0001F0F0700000000008E80000000000000B8 -:1006000000000000020E010200000000502040B077 -:10061000070B020A00000000D890A0502000000044 -:10062000000201051342351200002044148824D82A -:10063000240305020A04000042E498B008D4000034 -:1006400000000000000000000000000000000000AA -:10065000000000000000000000000000000000009A -:10066000000000000000000000000000000000008A -:10067000000000000000000000000000000000007A -:10068000000000011FC347C780C3A3B1B9BF1F1833 -:1006900047C31F01000000001FBFB9B1A3C3800002 -:1006A00000183F011FC347C70003A3B1B9BF1F18FC -:1006B00047C31F013F1800001FBFB9B1A3030000CB -:1006C000000000011FC347C783C3A1B1BBBF1E18F1 -:1006D00047C31F03FF0000001EBFBBB1A1030300FF -:1006E00000307F011FC347C70003A3B1B9BF1F1864 -:1006F00047C31F03FF0000001FBFB9B1A3030000E1 -:100700003C4281A5A599423CC0C0C0C0FFFF00008B -:10071000DBDBDF1F00007FFFFF00007FFFDBDBDB99 -:10072000FFC0C0FFFFC0C0FFC3C3C3FF7E00007F88 -:10073000C3FF7E0000C3C3C30000007EFFC3C3C36A -:1007400000000000000000000003070F0F1F1F1F24 -:1007500000000000000000001F1F0F0F0703000033 -:10076000F8FCFCFCFCFCFCFC00000000001F1F1F50 -:10077000FCFCFCFCFCFCF8001F1F0000000000005B -:100780000000030F1F3F7F7F0000800000800000FB -:100790007F7F7F3F1F0F03008000008307008000E2 -:1007A0000000000000000000000000000000000049 -:1007B000080808FF080808080000000000060600F6 -:1007C00000000E3F7F7FFFFF0000000000000F0FC2 -:1007D000FFFF7F7F3F0E00000F0F000000000000B2 -:1007E000000001070E1820070000C08000000080F4 -:1007F000FF0720180E070100FF8103000080C000E2 -:00000001FF diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe1-4.vhd b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe1-4.vhd new file mode 100644 index 00000000..f7bbd4b6 --- /dev/null +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe1-4.vhd @@ -0,0 +1,150 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity kbe1_IC4 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 kbe1_IC4 is + type rom is array(0 to 2047) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"21",X"FF",X"FF",X"2D",X"20",X"FD",X"25",X"20",X"FA",X"DB",X"00",X"FE",X"F0",X"28",X"FA",X"3E", + X"10",X"3D",X"20",X"FD",X"DB",X"00",X"FE",X"F0",X"28",X"EF",X"FE",X"F1",X"20",X"25",X"21",X"80", + X"01",X"01",X"4F",X"06",X"DD",X"21",X"2A",X"00",X"18",X"4C",X"06",X"02",X"21",X"FF",X"FF",X"2D", + X"20",X"FD",X"25",X"20",X"05",X"05",X"20",X"02",X"18",X"CF",X"DB",X"00",X"FE",X"F1",X"28",X"EF", + X"C3",X"09",X"00",X"FE",X"F2",X"C2",X"5B",X"00",X"21",X"50",X"06",X"01",X"8F",X"10",X"DD",X"21", + X"55",X"00",X"C3",X"76",X"00",X"DB",X"00",X"FE",X"F2",X"28",X"FA",X"FE",X"F3",X"C2",X"09",X"00", + X"21",X"90",X"10",X"01",X"FF",X"17",X"DD",X"21",X"6D",X"00",X"C3",X"76",X"00",X"DB",X"00",X"FE", + X"F3",X"28",X"FA",X"C3",X"09",X"00",X"50",X"59",X"7E",X"E6",X"F0",X"D3",X"00",X"3E",X"1B",X"3D", + X"20",X"FD",X"7E",X"E6",X"0F",X"07",X"07",X"07",X"07",X"D3",X"00",X"3E",X"19",X"3D",X"20",X"FD", + X"23",X"EB",X"ED",X"52",X"EB",X"20",X"DF",X"DD",X"E9",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"88",X"89",X"88",X"88",X"88",X"88",X"88",X"98",X"99",X"99",X"88",X"98",X"88",X"88",X"88",X"88", + X"89",X"99",X"98",X"98",X"88",X"88",X"87",X"88",X"87",X"78",X"9A",X"AA",X"89",X"88",X"98",X"87", + X"78",X"78",X"77",X"8B",X"CB",X"87",X"88",X"A8",X"87",X"78",X"87",X"78",X"AC",X"C9",X"87",X"89", + X"88",X"77",X"87",X"68",X"AD",X"C9",X"87",X"89",X"87",X"67",X"76",X"9C",X"CA",X"77",X"89",X"86", + X"67",X"77",X"AD",X"C9",X"56",X"99",X"96",X"55",X"6E",X"EC",X"85",X"79",X"87",X"67",X"65",X"EE", + X"C8",X"37",X"9A",X"75",X"76",X"8F",X"CB",X"53",X"88",X"95",X"56",X"4F",X"FA",X"A1",X"89",X"87", + X"45",X"4D",X"F8",X"B2",X"5B",X"78",X"45",X"5E",X"F7",X"83",X"5C",X"76",X"65",X"5F",X"F8",X"70", + X"8A",X"94",X"56",X"6F",X"C8",X"50",X"C7",X"83",X"37",X"DF",X"F8",X"05",X"E7",X"71",X"48",X"FF", + X"63",X"0D",X"8A",X"51",X"3F",X"F6",X"A0",X"89",X"68",X"32",X"EF",X"4C",X"05",X"B5",X"73",X"3B", + X"FA",X"D2",X"4D",X"4A",X"41",X"BF",X"FD",X"32",X"F4",X"98",X"0D",X"F0",X"F1",X"3D",X"3C",X"51", + X"FF",X"3D",X"06",X"94",X"F6",X"0F",X"F9",X"A0",X"A5",X"7F",X"36",X"FF",X"F2",X"5B",X"29",X"F0", + X"FC",X"0F",X"0E",X"24",X"FA",X"3F",X"FC",X"A0",X"D0",X"5F",X"0F",X"F0",X"F0",X"86",X"3A",X"F4", + X"FF",X"8A",X"0D",X"26",X"D5",X"F8",X"4E",X"0A",X"46",X"A3",X"FA",X"2E",X"3A",X"83",X"E8",X"CF", + X"0C",X"65",X"C3",X"BA",X"8F",X"07",X"61",X"B8",X"9D",X"6F",X"07",X"80",X"94",X"9E",X"8F",X"14", + X"A0",X"C3",X"8B",X"5F",X"F6",X"80",X"F5",X"A8",X"0F",X"F6",X"E0",X"D7",X"6F",X"0F",X"F1",X"F0", + X"A8",X"5C",X"2F",X"F1",X"E0",X"8C",X"6C",X"0F",X"F1",X"C0",X"AC",X"8B",X"0F",X"F4",X"A0",X"8B", + X"CB",X"0F",X"F3",X"F0",X"98",X"9E",X"0F",X"F0",X"F0",X"BE",X"3D",X"0F",X"F0",X"F0",X"9F",X"27", + X"2F",X"F0",X"E0",X"CF",X"A4",X"3F",X"F0",X"E0",X"AF",X"67",X"9F",X"F1",X"D0",X"6F",X"64",X"FF", + X"F4",X"A0",X"BF",X"20",X"FF",X"07",X"42",X"CF",X"70",X"FF",X"0D",X"20",X"EE",X"70",X"FF",X"00", + X"25",X"FB",X"43",X"FF",X"00",X"07",X"FD",X"31",X"FF",X"09",X"08",X"FB",X"45",X"FF",X"0F",X"00", + X"F9",X"18",X"FF",X"0F",X"00",X"F2",X"37",X"FF",X"0F",X"06",X"F7",X"0C",X"FF",X"5F",X"0A",X"F4", + X"0F",X"FF",X"0F",X"0F",X"F4",X"0F",X"FF",X"5D",X"0F",X"E7",X"0F",X"FF",X"2F",X"00",X"F3",X"0F", + X"FF",X"7F",X"00",X"D0",X"0F",X"F0",X"0E",X"0D",X"F0",X"0F",X"F0",X"0C",X"0F",X"F0",X"0F",X"F0", + X"0A",X"0F",X"C3",X"0F",X"F0",X"08",X"0F",X"F0",X"0F",X"F0",X"06",X"0F",X"F0",X"3F",X"F0",X"00", + X"0F",X"A0",X"7F",X"F0",X"00",X"0F",X"F0",X"FF",X"F0",X"00",X"5F",X"60",X"FF",X"F0",X"40",X"0F", + X"F0",X"FF",X"F0",X"F0",X"EF",X"00",X"FF",X"00",X"F0",X"0F",X"00",X"FF",X"00",X"F0",X"FF",X"05", + X"FF",X"00",X"40",X"FF",X"07",X"FF",X"00",X"A0",X"FF",X"00",X"FF",X"00",X"01",X"F1",X"0F",X"FF", + X"00",X"01",X"FF",X"00",X"FF",X"0F",X"06",X"F3",X"0F",X"FF",X"0F",X"00",X"F0",X"0F",X"FF",X"0F", + X"FB",X"F0",X"0F",X"F0",X"0F",X"00",X"F0",X"0F",X"F0",X"0F",X"0F",X"F0",X"1F",X"F0",X"0D",X"0F", + X"E0",X"5F",X"F0",X"0F",X"00",X"F0",X"0F",X"F0",X"0F",X"0F",X"F0",X"AF",X"F0",X"0F",X"0F",X"90", + X"0F",X"F0",X"0E",X"0F",X"A0",X"0F",X"F0",X"0E",X"0F",X"E0",X"0F",X"F0",X"04",X"0F",X"E0",X"FF", + X"F0",X"0D",X"0E",X"F0",X"BF",X"F0",X"0C",X"2F",X"F0",X"5F",X"F0",X"87",X"1C",X"F0",X"AF",X"F0", + X"CD",X"2B",X"C0",X"3F",X"F0",X"08",X"AB",X"E2",X"1F",X"F6",X"61",X"1E",X"F2",X"6F",X"B0",X"5A", + X"4A",X"F1",X"1F",X"F6",X"02",X"DE",X"B4",X"4F",X"FC",X"30",X"4D",X"E4",X"7F",X"F7",X"03",X"8A", + X"B8",X"48",X"FF",X"00",X"5F",X"C7",X"76",X"FE",X"33",X"49",X"C8",X"74",X"FF",X"60",X"0D",X"DB", + X"83",X"BF",X"96",X"27",X"7A",X"A6",X"FF",X"50",X"3C",X"BA",X"64",X"9F",X"FC",X"00",X"8F",X"D3", + X"AE",X"88",X"57",X"68",X"96",X"8D",X"FD",X"10",X"6F",X"B5",X"93",X"9F",X"F0",X"0A",X"F8",X"88", + X"CF",X"80",X"2B",X"C4",X"88",X"9F",X"F0",X"0C",X"E5",X"75",X"3F",X"F8",X"01",X"AA",X"B8",X"7F", + X"F1",X"0A",X"C6",X"78",X"6F",X"F7",X"06",X"A8",X"77",X"6A",X"FF",X"30",X"16",X"B9",X"7D",X"FD", + X"21",X"57",X"88",X"8C",X"FD",X"66",X"26",X"96",X"8A",X"BE",X"E8",X"03",X"88",X"77",X"DF",X"F9", + X"02",X"55",X"6A",X"BF",X"FD",X"22",X"55",X"58",X"9C",X"FF",X"63",X"44",X"56",X"6C",X"FF",X"74", + X"66",X"45",X"56",X"FF",X"BA",X"95",X"56",X"33",X"DD",X"9A",X"C9",X"69",X"42",X"BD",X"86",X"AC", + X"9A",X"75",X"AA",X"64",X"8A",X"8B",X"A5",X"BB",X"85",X"77",X"59",X"A7",X"BD",X"A7",X"89",X"57", + X"86",X"AA",X"87",X"B9",X"79",X"A7",X"79",X"75",X"98",X"7A",X"A9",X"9A",X"98",X"A7",X"67",X"79", + X"9A",X"97",X"BA",X"89",X"89",X"88",X"66",X"A8",X"8A",X"AB",X"99",X"75",X"A8",X"68",X"9B",X"AA", + X"87",X"B8",X"66",X"79",X"8A",X"87",X"BA",X"88",X"99",X"69",X"85",X"99",X"99",X"BC",X"79",X"85", + X"88",X"86",X"8B",X"9C",X"95",X"88",X"87",X"99",X"6A",X"A8",X"77",X"87",X"AB",X"8A",X"97",X"77", + X"76",X"8A",X"8C",X"BA",X"77",X"96",X"78",X"69",X"9A",X"A8",X"87",X"99",X"79",X"AA",X"78",X"86", + X"79",X"88",X"AB",X"89",X"A9",X"97",X"77",X"88",X"78",X"97",X"AB",X"97",X"9B",X"88",X"86",X"67", + X"88",X"9A",X"99",X"A8",X"89",X"98",X"99",X"79",X"A7",X"68",X"86",X"8A",X"9A",X"CA",X"98",X"86", + X"78",X"78",X"A9",X"78",X"98",X"AA",X"77",X"A9",X"88",X"87",X"78",X"68",X"BA",X"99",X"87",X"89", + X"67",X"AA",X"A9",X"87",X"79",X"88",X"A9",X"99",X"77",X"88",X"67",X"AA",X"AA",X"97",X"77",X"66", + X"8A",X"BB",X"98",X"87",X"67",X"89",X"BB",X"98",X"87",X"67",X"78",X"AB",X"AA",X"A8",X"67",X"67", + X"99",X"AA",X"A9",X"78",X"67",X"89",X"99",X"A9",X"89",X"77",X"88",X"88",X"A8",X"89",X"88",X"99", + X"89",X"98",X"79",X"87",X"88",X"9A",X"A8",X"79",X"88",X"88",X"89",X"A8",X"78",X"88",X"99",X"89", + X"A8",X"89",X"88",X"88",X"89",X"A9",X"89",X"98",X"77",X"78",X"A9",X"89",X"99",X"98",X"78",X"88", + X"89",X"98",X"98",X"88",X"88",X"89",X"99",X"98",X"89",X"97",X"79",X"99",X"98",X"89",X"88",X"88", + X"89",X"97",X"88",X"87",X"8A",X"98",X"99",X"88",X"87",X"89",X"98",X"98",X"99",X"87",X"89",X"98", + X"88",X"88",X"87",X"89",X"A9",X"A9",X"88",X"66",X"69",X"99",X"9A",X"98",X"76",X"69",X"99",X"89", + X"A8",X"97",X"7A",X"8A",X"78",X"77",X"98",X"89",X"A9",X"9A",X"88",X"98",X"79",X"87",X"88",X"88", + X"A9",X"87",X"88",X"89",X"99",X"99",X"78",X"78",X"89",X"99",X"A9",X"88",X"87",X"89",X"98",X"99", + X"88",X"88",X"8A",X"99",X"99",X"88",X"77",X"78",X"89",X"A9",X"89",X"88",X"88",X"88",X"99",X"89", + X"88",X"88",X"88",X"99",X"88",X"88",X"88",X"88",X"98",X"89",X"98",X"89",X"89",X"99",X"89",X"97", + X"88",X"89",X"AA",X"9A",X"98",X"88",X"88",X"98",X"89",X"98",X"89",X"88",X"98",X"89",X"98",X"89", + X"88",X"88",X"89",X"98",X"88",X"77",X"88",X"88",X"98",X"78",X"87",X"88",X"78",X"99",X"89",X"98", + X"89",X"88",X"99",X"88",X"99",X"99",X"99",X"99",X"88",X"87",X"88",X"88",X"88",X"88",X"88",X"88", + X"98",X"89",X"88",X"98",X"78",X"88",X"88",X"88",X"77",X"77",X"88",X"79",X"98",X"99",X"99",X"AA", + X"9A",X"AA",X"AA",X"AA",X"A9",X"99",X"98",X"98",X"88",X"88",X"78",X"87",X"78",X"78",X"88",X"78", + X"98",X"89",X"99",X"AA",X"AB",X"BA",X"AA",X"AA",X"AA",X"AA",X"A9",X"99",X"88",X"87",X"66",X"54", + X"45",X"34",X"43",X"34",X"44",X"56",X"67",X"89",X"9A",X"BB",X"BB",X"BB",X"AA",X"AB",X"A9",X"99", + X"99",X"99",X"89",X"98",X"77",X"88",X"88",X"99",X"AA",X"AA",X"AA",X"AA",X"AA",X"BA",X"AA",X"AA", + X"A9",X"AA",X"A9",X"99",X"99",X"87",X"78",X"87",X"66",X"66",X"66",X"66",X"66",X"66",X"67",X"78", + X"88",X"88",X"88",X"99",X"99",X"99",X"99",X"88",X"89",X"88",X"88",X"89",X"88",X"88",X"88",X"99", + X"9A",X"AA",X"AA",X"AA",X"AA",X"9A",X"A9",X"99",X"98",X"88",X"77",X"77",X"76",X"66",X"66",X"66", + X"66",X"77",X"77",X"88",X"88",X"99",X"99",X"99",X"99",X"99",X"99",X"99",X"99",X"99",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"99",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"78",X"87",X"88",X"77",X"77",X"77",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"9A",X"AB",X"A9",X"88",X"78",X"89",X"99",X"98",X"87",X"77", + X"78",X"88",X"87",X"77",X"77",X"76",X"8C",X"BD",X"C9",X"87",X"67",X"89",X"AA",X"99",X"77",X"77", + X"89",X"99",X"98",X"88",X"88",X"88",X"88",X"87",X"77",X"77",X"79",X"DD",X"DC",X"87",X"66",X"8A", + X"AA",X"98",X"87",X"78",X"89",X"99",X"98",X"88",X"88",X"88",X"87",X"77",X"77",X"66",X"9D",X"DC", + X"C7",X"66",X"69",X"BB",X"A9",X"77",X"67",X"89",X"9A",X"98",X"87",X"77",X"78",X"87",X"66",X"66", + X"7B",X"FB",X"E8",X"56",X"78",X"CB",X"B9",X"66",X"77",X"9A",X"9A",X"A9",X"87",X"67",X"78",X"87", + X"55",X"58",X"EF",X"BD",X"66",X"78",X"AB",X"98",X"87",X"98",X"98",X"88",X"A8",X"98",X"77",X"66", + X"55",X"56",X"8F",X"CB",X"A4",X"7A",X"8D",X"B8",X"86",X"6A",X"88",X"9A",X"89",X"76",X"65",X"66", + X"65",X"8C",X"F7",X"E4",X"69",X"7C",X"C8",X"98",X"6C",X"7A",X"A6",X"97",X"77",X"55",X"45",X"7B", + X"F8",X"D5",X"28",X"79",X"E8",X"BA",X"6A",X"87",X"86",X"88",X"66",X"44",X"49",X"FF",X"9D",X"06", + X"67",X"DA",X"BB",X"8A",X"85",X"93",X"85",X"57",X"36",X"9F",X"FB",X"C1",X"66",X"6D",X"9C",X"A7", + X"B7",X"78",X"56",X"44",X"46",X"CF",X"CD",X"71",X"85",X"9D",X"DE",X"97",X"63",X"84",X"75",X"35", + X"5C",X"F8",X"F5",X"5A",X"3B",X"BB",X"E6",X"A4",X"57",X"43",X"12",X"7D",X"F9",X"F4",X"5A",X"4D", + X"AA",X"C9",X"96",X"75",X"31",X"05",X"BF",X"D9",X"80",X"B5",X"DF",X"8D",X"89",X"45",X"43",X"21", + X"7F",X"FF",X"F0",X"B5",X"7F",X"4E",X"79",X"93",X"70",X"00",X"4E",X"FF",X"F0",X"84",X"8F",X"4F", + X"4B",X"64",X"60",X"30",X"9F",X"FF",X"90",X"C0",X"F6",X"BD",X"4C",X"09",X"02",X"46",X"FF",X"F9", + X"0A",X"0F",X"7E",X"A6",X"70",X"80",X"33",X"CF",X"BF",X"09",X"1B",X"98",X"D6",X"A1",X"52",X"36", + X"FE",X"FE",X"3A",X"49",X"99",X"D6",X"50",X"11",X"5F",X"FF",X"F9",X"C1",X"82",X"A8",X"79",X"18", + X"0E",X"9E",X"CC",X"CA",X"86",X"A6",X"62",X"37",X"6E",X"F8",X"F4",X"B5",X"8B",X"6D",X"25",X"16", + X"CE",X"DF",X"5C",X"2A",X"56",X"72",X"87",X"DF",X"8F",X"0D",X"0E",X"58",X"40",X"A6",X"F7",X"F1", + X"B3",X"97",X"46",X"0D",X"7F",X"AF",X"17",X"29",X"56",X"53",X"DB",X"F9",X"F0",X"72",X"87",X"45", + X"6A",X"FE",X"F3",X"80",X"93",X"63",X"AA",X"FF",X"F5",X"52",X"36",X"59",X"9E",X"FE",X"B7",X"61", + X"31",X"5A",X"FF",X"FC",X"54",X"23",X"33",X"8C",X"FF",X"FA",X"63",X"22",X"25",X"AE",X"FE",X"D6", + X"71",X"31",X"4A",X"CF",X"EF",X"59",X"04",X"02",X"AA",X"FD",X"F7",X"92",X"10",X"19",X"AF",X"CF", + X"6B",X"03",X"12",X"A9",X"FC",X"F5",X"90",X"31",X"3A",X"BF",X"DF",X"69",X"12",X"02",X"9B",X"FD", + X"F7",X"A1",X"30",X"57",X"DF",X"FF",X"8A",X"03",X"05",X"8E",X"FF",X"D9",X"60",X"10",X"78",X"FF", + X"F9",X"A3",X"20",X"09",X"9F",X"DF",X"5B",X"03",X"02",X"7C",X"06",X"F8",X"90",X"20",X"06",X"EF"); +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/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe1.ic4 b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe1.ic4 new file mode 100644 index 00000000..d44b09ac Binary files /dev/null and b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe1.ic4 differ diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe2-5.vhd b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe2-5.vhd new file mode 100644 index 00000000..1bc1a6d8 --- /dev/null +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe2-5.vhd @@ -0,0 +1,150 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity kbe2_IC5 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 kbe2_IC5 is + type rom is array(0 to 2047) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"FF",X"97",X"01",X"05",X"8F",X"FF",X"DB",X"30",X"00",X"68",X"FF",X"FB",X"C2",X"30",X"36",X"AF", + X"FE",X"C8",X"42",X"03",X"5D",X"DF",X"CF",X"55",X"02",X"37",X"ED",X"FC",X"E3",X"30",X"14",X"BF", + X"FF",X"E8",X"50",X"00",X"5D",X"EF",X"CF",X"45",X"01",X"27",X"EE",X"FC",X"C4",X"40",X"14",X"AF", + X"FF",X"F6",X"60",X"11",X"6C",X"EF",X"EC",X"63",X"11",X"39",X"DF",X"FF",X"67",X"02",X"07",X"CF", + X"FF",X"C5",X"30",X"13",X"9C",X"FE",X"F5",X"60",X"11",X"7D",X"FF",X"FB",X"61",X"00",X"4A",X"EF", + X"FF",X"44",X"01",X"38",X"DF",X"FF",X"85",X"00",X"06",X"CF",X"FF",X"E4",X"20",X"02",X"9F",X"FF", + X"F7",X"60",X"00",X"6C",X"FF",X"FE",X"52",X"00",X"27",X"FF",X"FF",X"77",X"00",X"05",X"CF",X"FF", + X"E6",X"10",X"03",X"8F",X"FF",X"F6",X"50",X"00",X"5C",X"FF",X"FB",X"60",X"00",X"5A",X"FF",X"FF", + X"45",X"01",X"27",X"DF",X"FF",X"85",X"00",X"05",X"BF",X"FF",X"F5",X"20",X"02",X"8E",X"FF",X"F9", + X"50",X"00",X"5B",X"FF",X"FF",X"62",X"00",X"37",X"EF",X"FF",X"85",X"00",X"05",X"BF",X"FF",X"E6", + X"20",X"02",X"7D",X"FF",X"FA",X"50",X"00",X"5B",X"FF",X"FD",X"71",X"00",X"37",X"EF",X"FF",X"95", + X"00",X"14",X"BE",X"FF",X"E7",X"10",X"03",X"7D",X"FF",X"FB",X"60",X"00",X"49",X"DF",X"FE",X"73", + X"01",X"36",X"CF",X"FF",X"B6",X"10",X"14",X"9D",X"FF",X"F9",X"41",X"03",X"5B",X"EF",X"FD",X"72", + X"00",X"48",X"CF",X"FF",X"A5",X"10",X"25",X"AD",X"FF",X"D8",X"31",X"24",X"8C",X"FF",X"EA",X"41", + X"02",X"6B",X"FF",X"FB",X"62",X"01",X"59",X"EF",X"FD",X"73",X"01",X"38",X"DF",X"FF",X"93",X"00", + X"26",X"CF",X"FF",X"A4",X"10",X"26",X"AF",X"FF",X"C6",X"10",X"15",X"9E",X"FF",X"D7",X"20",X"14", + X"8D",X"FF",X"E9",X"30",X"13",X"7C",X"FF",X"FA",X"41",X"02",X"6B",X"FF",X"FB",X"51",X"02",X"5A", + X"FF",X"FC",X"72",X"01",X"5A",X"EF",X"FC",X"73",X"12",X"59",X"DF",X"FC",X"83",X"11",X"48",X"DF", + X"FD",X"84",X"11",X"38",X"CF",X"FD",X"94",X"21",X"37",X"BF",X"FE",X"95",X"21",X"37",X"BE",X"FE", + X"A5",X"21",X"36",X"BE",X"FE",X"B6",X"31",X"36",X"AE",X"FF",X"B6",X"31",X"25",X"9D",X"FF",X"C8", + X"42",X"25",X"9D",X"FF",X"C8",X"42",X"24",X"8C",X"FF",X"D9",X"52",X"24",X"7B",X"EF",X"DA",X"52", + X"13",X"7B",X"EF",X"EA",X"62",X"13",X"6A",X"DF",X"EB",X"73",X"23",X"59",X"CF",X"FD",X"84",X"22", + X"48",X"CF",X"FE",X"A5",X"21",X"36",X"AE",X"FE",X"B7",X"31",X"25",X"9D",X"FF",X"D9",X"42",X"24", + X"7B",X"EF",X"EB",X"63",X"23",X"69",X"DF",X"FC",X"84",X"22",X"47",X"BE",X"FE",X"B7",X"32",X"35", + X"9C",X"EE",X"D9",X"53",X"24",X"7A",X"CE",X"EB",X"85",X"33",X"57",X"AC",X"DD",X"A8",X"54",X"46", + X"8A",X"CC",X"CA",X"75",X"55",X"78",X"AB",X"BB",X"A8",X"76",X"67",X"88",X"99",X"AA",X"98",X"87", + X"77",X"78",X"8A",X"AB",X"A8",X"76",X"66",X"78",X"9B",X"CB",X"A8",X"76",X"55",X"78",X"AC",X"CB", + X"97",X"65",X"56",X"7A",X"BC",X"CA",X"86",X"55",X"67",X"9A",X"BC",X"B9",X"75",X"56",X"78",X"AB", + X"BA",X"98",X"76",X"78",X"99",X"99",X"88",X"88",X"89",X"99",X"98",X"77",X"78",X"9A",X"AA",X"A8", + X"76",X"66",X"89",X"AB",X"BA",X"87",X"66",X"67",X"9A",X"BB",X"A9",X"87",X"66",X"78",X"9A",X"AA", + X"98",X"77",X"78",X"89",X"99",X"98",X"88",X"88",X"98",X"88",X"88",X"88",X"89",X"99",X"98",X"77", + X"77",X"89",X"9A",X"A9",X"87",X"77",X"88",X"9A",X"A9",X"98",X"77",X"78",X"9A",X"AA",X"98",X"77", + X"77",X"89",X"AA",X"A9",X"87",X"77",X"88",X"9A",X"A9",X"88",X"77",X"88",X"99",X"99",X"98",X"88", + X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88", + X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"88",X"88",X"88", + X"99",X"99",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"99",X"88",X"87",X"88",X"89",X"99", + X"99",X"88",X"77",X"88",X"99",X"99",X"98",X"77",X"78",X"89",X"99",X"98",X"87",X"77",X"88",X"99", + X"99",X"88",X"88",X"88",X"99",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99", + X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"88",X"88", + X"88",X"88",X"99",X"99",X"98",X"88",X"88",X"88",X"99",X"98",X"88",X"88",X"88",X"88",X"99",X"99", + X"88",X"88",X"88",X"88",X"99",X"98",X"88",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"88",X"89", + X"98",X"88",X"88",X"88",X"88",X"89",X"98",X"88",X"88",X"88",X"88",X"88",X"89",X"99",X"98",X"88", + X"88",X"88",X"99",X"99",X"88",X"88",X"88",X"89",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"88",X"88",X"88", + X"88",X"99",X"98",X"88",X"88",X"88",X"88",X"99",X"88",X"88",X"88",X"88",X"99",X"98",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"89",X"99",X"88",X"88",X"88",X"88",X"98",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"99",X"88",X"88",X"88",X"88",X"99",X"99",X"88", + X"88",X"88",X"89",X"99",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"89",X"88",X"88",X"88",X"88",X"88",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"89",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"98",X"88",X"89",X"98",X"89",X"88", + X"88",X"89",X"89",X"89",X"99",X"87",X"88",X"89",X"88",X"88",X"89",X"89",X"88",X"88",X"89",X"99", + X"88",X"88",X"88",X"88",X"98",X"88",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"99", + X"98",X"88",X"88",X"89",X"89",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"99",X"99",X"98",X"88",X"98",X"98",X"88",X"88",X"88",X"99",X"99",X"99",X"99",X"98", + X"88",X"77",X"77",X"78",X"89",X"9A",X"AA",X"AA",X"99",X"87",X"77",X"66",X"77",X"88",X"9A",X"AA", + X"AA",X"A9",X"88",X"77",X"66",X"67",X"78",X"89",X"AA",X"BB",X"AA",X"99",X"87",X"66",X"66",X"67", + X"78",X"9A",X"AB",X"BB",X"A9",X"87",X"76",X"66",X"66",X"78",X"89",X"AB",X"BB",X"BB",X"A9",X"87", + X"66",X"66",X"67",X"78",X"9A",X"AB",X"BB",X"BA",X"98",X"77",X"66",X"66",X"67",X"77",X"99",X"AA", + X"BB",X"BA",X"A9",X"87",X"76",X"66",X"67",X"78",X"89",X"AB",X"BB",X"BA",X"A8",X"97",X"87",X"87", + X"88",X"88",X"77",X"77",X"78",X"89",X"AA",X"AA",X"A9",X"99",X"98",X"88",X"87",X"66",X"66",X"68", + X"8A",X"BB",X"CB",X"B9",X"A8",X"97",X"87",X"87",X"77",X"66",X"67",X"79",X"9B",X"AC",X"BB",X"A9", + X"88",X"87",X"87",X"87",X"76",X"76",X"77",X"99",X"BB",X"CB",X"BA",X"99",X"78",X"78",X"78",X"78", + X"77",X"77",X"78",X"99",X"BA",X"CA",X"B9",X"98",X"87",X"88",X"78",X"78",X"77",X"67",X"78",X"9A", + X"BB",X"CA",X"B9",X"A7",X"87",X"87",X"88",X"88",X"77",X"67",X"78",X"99",X"BA",X"CA",X"B8",X"97", + X"87",X"87",X"88",X"78",X"77",X"66",X"77",X"99",X"CB",X"DA",X"C9",X"97",X"87",X"78",X"78",X"78", + X"67",X"66",X"77",X"A8",X"CA",X"DA",X"B9",X"88",X"77",X"68",X"79",X"79",X"77",X"66",X"76",X"99", + X"BC",X"CD",X"AB",X"79",X"68",X"68",X"88",X"88",X"87",X"75",X"57",X"6A",X"9D",X"BD",X"BB",X"97", + X"86",X"86",X"87",X"98",X"88",X"66",X"56",X"77",X"B9",X"EA",X"E9",X"B8",X"77",X"68",X"69",X"79", + X"89",X"86",X"65",X"67",X"7A",X"9D",X"AD",X"AA",X"97",X"86",X"86",X"87",X"98",X"88",X"66",X"56", + X"77",X"9A",X"BD",X"BD",X"9B",X"69",X"67",X"77",X"88",X"98",X"97",X"76",X"56",X"87",X"BA",X"EB", + X"DB",X"A9",X"68",X"57",X"68",X"88",X"A8",X"96",X"85",X"65",X"87",X"B9",X"EB",X"DB",X"A9",X"68", + X"47",X"68",X"89",X"A9",X"A7",X"75",X"54",X"86",X"BA",X"EC",X"CD",X"8A",X"47",X"47",X"77",X"A8", + X"B9",X"A7",X"75",X"44",X"57",X"8D",X"AF",X"AF",X"9A",X"65",X"65",X"77",X"8A",X"9C",X"9A",X"77", + X"54",X"46",X"78",X"DA",X"FB",X"F9",X"A6",X"56",X"47",X"88",X"B9",X"C9",X"A7",X"65",X"33",X"37", + X"6D",X"BF",X"ED",X"D7",X"A2",X"63",X"67",X"8B",X"BC",X"C9",X"95",X"63",X"33",X"48",X"8F",X"CF", + X"DE",X"A7",X"72",X"43",X"68",X"AC",X"CC",X"C9",X"84",X"52",X"22",X"59",X"9F",X"DF",X"FD",X"C4", + X"70",X"42",X"78",X"CB",X"FC",X"D8",X"85",X"33",X"12",X"47",X"AC",X"FD",X"FA",X"E5",X"52",X"14", + X"59",X"BE",X"EF",X"BB",X"66",X"23",X"22",X"35",X"9B",X"EF",X"DF",X"8D",X"36",X"23",X"56",X"AC", + X"DE",X"DB",X"96",X"53",X"34",X"34",X"58",X"BA",X"FB",X"FA",X"C8",X"55",X"24",X"68",X"CC",X"EE", + X"CB",X"76",X"44",X"44",X"35",X"4B",X"8F",X"FD",X"F9",X"D5",X"54",X"24",X"68",X"DC",X"FD",X"BB", + X"67",X"34",X"44",X"34",X"3A",X"7E",X"FD",X"F9",X"D7",X"44",X"24",X"67",X"CE",X"DF",X"BC",X"76", + X"43",X"44",X"44",X"46",X"B9",X"FE",X"EF",X"9C",X"54",X"43",X"59",X"8E",X"DD",X"F8",X"B4",X"54", + X"35",X"65",X"64",X"7A",X"8E",X"ED",X"F9",X"C6",X"55",X"45",X"88",X"CE",X"BE",X"8A",X"65",X"54", + X"57",X"56",X"44",X"98",X"AF",X"BF",X"E9",X"C3",X"64",X"56",X"98",X"EB",X"CB",X"79",X"57",X"56", + X"67",X"45",X"25",X"88",X"EF",X"FF",X"CB",X"85",X"44",X"37",X"7A",X"CB",X"DB",X"A8",X"76",X"66", + X"55",X"33",X"25",X"99",X"FF",X"FF",X"DB",X"75",X"34",X"36",X"8A",X"DD",X"DC",X"A9",X"76",X"55", + X"45",X"44",X"34",X"9A",X"EF",X"FF",X"DB",X"75",X"23",X"35",X"9A",X"DD",X"DD",X"A9",X"76",X"45", + X"55",X"54",X"54",X"8B",X"CF",X"FF",X"FB",X"87",X"33",X"44",X"79",X"AE",X"CC",X"C8",X"86",X"54", + X"55",X"65",X"55",X"59",X"AC",X"FF",X"EF",X"A9",X"64",X"34",X"47",X"AA",X"ED",X"DC",X"97",X"64", + X"46",X"57",X"66",X"55",X"7A",X"AE",X"FE",X"FB",X"97",X"43",X"44",X"69",X"AD",X"ED",X"CA",X"76", + X"54",X"56",X"67",X"66",X"55",X"8A",X"BF",X"FE",X"FA",X"85",X"32",X"44",X"8A",X"BE",X"EC",X"B8", + X"65",X"55",X"68",X"78",X"75",X"44",X"8A",X"BF",X"FF",X"FB",X"85",X"31",X"43",X"8A",X"CE",X"FC", + X"B9",X"56",X"45",X"68",X"79",X"76",X"54",X"5A",X"9D",X"FD",X"FC",X"A5",X"50",X"35",X"6B",X"CD", + X"DE",X"9A",X"65",X"56",X"78",X"98",X"96",X"53",X"24",X"99",X"EF",X"EF",X"D9",X"56",X"13",X"56", + X"AC",X"EC",X"EA",X"97",X"65",X"77",X"79",X"78",X"75",X"33",X"26",X"AB",X"FF",X"FF",X"D7",X"64", + X"14",X"58",X"AD",X"CD",X"CA",X"88",X"66",X"77",X"88",X"77",X"64",X"32",X"26",X"BD",X"FF",X"FF", + X"C7",X"32",X"01",X"57",X"BE",X"FE",X"EB",X"86",X"54",X"56",X"78",X"88",X"76",X"53",X"24",X"9D", + X"FF",X"FF",X"E9",X"41",X"10",X"36",X"BD",X"FF",X"DB",X"85",X"34",X"46",X"8A",X"AA",X"96",X"54", + X"22",X"49",X"EF",X"FF",X"FC",X"73",X"01",X"05",X"9E",X"FF",X"FB",X"95",X"52",X"56",X"8A",X"BA", + X"88",X"55",X"44",X"35",X"7C",X"FF",X"FF",X"D8",X"62",X"13",X"48",X"AF",X"EF",X"C9",X"65",X"54", + X"68",X"AA",X"BA",X"87",X"54",X"45",X"45",X"69",X"DE",X"FF",X"EC",X"87",X"43",X"56",X"8A",X"CB", + X"B9",X"85",X"56",X"78",X"AB",X"AA",X"97",X"55",X"55",X"56",X"66",X"8B",X"EE",X"FF",X"DA",X"76", + X"23",X"35",X"7A",X"CC",X"DB",X"A7",X"76",X"76",X"89",X"99",X"98",X"77",X"76",X"67",X"65",X"79", + X"DE",X"FF",X"C9",X"65",X"23",X"47",X"AC",X"FE",X"C9",X"84",X"34",X"57",X"9C",X"CC",X"A9",X"76", + X"65",X"55",X"66",X"56",X"8C",X"DE",X"FE",X"C9",X"74",X"33",X"67",X"9B",X"CC",X"BA",X"86",X"56", + X"78",X"AA",X"BA",X"97",X"66",X"66",X"67",X"77",X"67",X"9E",X"EE",X"FD",X"95",X"53",X"34",X"8B", + X"CE",X"EC",X"87",X"54",X"35",X"79",X"CC",X"CA",X"97",X"66",X"66",X"67",X"77",X"66",X"7A",X"DC", + X"ED",X"D8",X"76",X"55",X"6A",X"AB",X"BC",X"97",X"65",X"54",X"79",X"BD",X"DD",X"A9",X"65",X"44", + X"45",X"68",X"98",X"88",X"AD",X"CC",X"CD",X"97",X"66",X"55",X"89",X"AA",X"CB",X"98",X"77",X"67", + X"89",X"AA",X"BA",X"98",X"87",X"77",X"76",X"66",X"66",X"66",X"AD",X"DD",X"DD",X"97",X"65",X"55", + X"89",X"AA",X"BA",X"87",X"67",X"67",X"8A",X"BB",X"CB",X"96",X"65",X"55",X"67",X"78",X"88",X"76", + X"9C",X"CD",X"DE",X"A7",X"55",X"44",X"79",X"BB",X"CB",X"97",X"55",X"56",X"69",X"BC",X"CC",X"B8", + X"75",X"55",X"56",X"78",X"88",X"87",X"9C",X"DD",X"CD",X"B8",X"55",X"55",X"68",X"AB",X"BB",X"A8", + X"66",X"67",X"78",X"AB",X"BA",X"A8",X"76",X"66",X"66",X"78",X"87",X"77",X"79",X"CD",X"DC",X"DA", + X"85",X"56",X"67",X"8B",X"BB",X"A9",X"76",X"55",X"77",X"9B",X"DC",X"BA",X"87",X"55",X"56",X"67", + X"89",X"98",X"87",X"8B",X"CC",X"BC",X"B8",X"65",X"66",X"78",X"BC",X"BA",X"98",X"66",X"57",X"89", + X"9B",X"CB",X"A8",X"87",X"66",X"67",X"77",X"78",X"78",X"77",X"AC",X"DC",X"CC",X"A8",X"56",X"67", + X"78",X"BB",X"A8",X"87",X"76",X"78",X"99",X"9B",X"BA",X"87",X"77",X"66",X"78",X"88",X"78",X"87", + X"66",X"8C",X"DC",X"BC",X"B9",X"65",X"67",X"88",X"AB",X"A9",X"87",X"77",X"67",X"89",X"AA",X"AA", + X"A8",X"88",X"87",X"67",X"77",X"66",X"78",X"88",X"79",X"CD",X"CA",X"BA",X"96",X"56",X"78",X"79", + X"AA",X"98",X"88",X"87",X"77",X"88",X"89",X"9A",X"AA",X"99",X"87",X"66",X"66",X"66",X"78",X"99", + X"89",X"AB",X"BB",X"AA",X"98",X"66",X"77",X"88",X"9A",X"A9",X"88",X"88",X"77",X"89",X"99",X"99"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe2.ic5 b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe2.ic5 new file mode 100644 index 00000000..9e3c161b Binary files /dev/null and b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe2.ic5 differ diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe2.ic7 b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe2.ic7 new file mode 100644 index 00000000..9e3c161b Binary files /dev/null and b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe2.ic7 differ diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe3-6.vhd b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe3-6.vhd new file mode 100644 index 00000000..e4647eaf --- /dev/null +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe3-6.vhd @@ -0,0 +1,150 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity kbe3_IC6 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 kbe3_IC6 is + type rom is array(0 to 2047) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"A9",X"99",X"98",X"87",X"76",X"66",X"66",X"78",X"9A",X"BC",X"CB",X"A9",X"87",X"66",X"68",X"99", + X"AA",X"A9",X"87",X"77",X"77",X"89",X"AA",X"99",X"98",X"88",X"99",X"88",X"77",X"66",X"67",X"78", + X"89",X"AB",X"CB",X"AA",X"98",X"77",X"78",X"89",X"9A",X"99",X"88",X"88",X"88",X"89",X"99",X"98", + X"88",X"88",X"88",X"99",X"99",X"87",X"76",X"66",X"77",X"89",X"AA",X"BB",X"B9",X"98",X"77",X"77", + X"89",X"9A",X"99",X"98",X"77",X"78",X"89",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"87",X"66", + X"77",X"78",X"99",X"9A",X"AA",X"A9",X"98",X"88",X"78",X"88",X"99",X"99",X"98",X"88",X"88",X"89", + X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"88",X"87",X"77",X"78",X"88",X"88",X"99",X"9A",X"AA", + X"99",X"88",X"77",X"78",X"99",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"98",X"88",X"88",X"88", + X"89",X"99",X"99",X"98",X"87",X"77",X"77",X"78",X"89",X"99",X"AA",X"AA",X"98",X"87",X"77",X"78", + X"88",X"88",X"88",X"98",X"88",X"88",X"99",X"98",X"88",X"87",X"89",X"AA",X"A9",X"76",X"66",X"8C", + X"EC",X"96",X"44",X"68",X"DF",X"D8",X"63",X"46",X"8D",X"FC",X"76",X"43",X"7A",X"9D",X"D9",X"67", + X"44",X"8A",X"8D",X"D9",X"66",X"35",X"A9",X"BE",X"B6",X"65",X"48",X"B8",X"DC",X"96",X"64",X"69", + X"9A",X"EC",X"86",X"54",X"8B",X"8D",X"D8",X"56",X"46",X"A9",X"BE",X"A6",X"64",X"5A",X"A7",X"EB", + X"77",X"64",X"7B",X"7D",X"E8",X"57",X"37",X"C8",X"AF",X"95",X"74",X"4A",X"A9",X"FA",X"46",X"64", + X"BB",X"5F",X"D5",X"58",X"37",X"C6",X"EF",X"63",X"84",X"7D",X"6A",X"F9",X"37",X"56",X"B7",X"BF", + X"83",X"66",X"8D",X"59",X"F9",X"45",X"78",X"C5",X"BF",X"75",X"65",X"9C",X"3A",X"F7",X"47",X"6A", + X"C2",X"CF",X"63",X"84",X"AC",X"3D",X"F4",X"27",X"7B",X"A4",X"FE",X"42",X"68",X"BA",X"9F",X"93", + X"26",X"BD",X"4B",X"F8",X"33",X"5B",X"C6",X"FC",X"44",X"56",X"E7",X"5F",X"C4",X"35",X"7C",X"5C", + X"F7",X"46",X"4A",X"B2",X"FE",X"54",X"77",X"B5",X"7F",X"95",X"56",X"9B",X"2F",X"D5",X"47",X"9D", + X"55",X"F8",X"25",X"8A",X"B5",X"FA",X"43",X"69",X"E6",X"9F",X"73",X"47",X"DA",X"4F",X"A5",X"52", + X"5F",X"8E",X"E3",X"47",X"5B",X"78",X"F8",X"35",X"48",X"D5",X"FF",X"54",X"44",X"B9",X"CF",X"42", + X"87",X"97",X"7F",X"B3",X"45",X"6D",X"7F",X"C5",X"75",X"4A",X"6F",X"F4",X"17",X"88",X"47",X"FA", + X"35",X"48",X"B6",X"FC",X"55",X"78",X"93",X"FE",X"64",X"67",X"B5",X"CF",X"48",X"55",X"B9",X"6F", + X"64",X"57",X"9A",X"5F",X"91",X"64",X"6D",X"3F",X"F0",X"34",X"7C",X"58",X"F6",X"53",X"2A",X"A4", + X"F8",X"37",X"49",X"A1",X"FF",X"46",X"47",X"C5",X"AF",X"67",X"47",X"C6",X"5F",X"96",X"54",X"BB", + X"0F",X"F2",X"81",X"3F",X"82",X"F9",X"64",X"1C",X"D1",X"AF",X"7E",X"00",X"FE",X"1F",X"A7",X"D0", + X"4F",X"4A",X"F2",X"D0",X"0F",X"90",X"F8",X"CC",X"08",X"E3",X"FF",X"2F",X"00",X"F9",X"2F",X"8E", + X"D0",X"8B",X"5B",X"F2",X"F0",X"2E",X"83",X"F8",X"F6",X"0A",X"A6",X"FF",X"3F",X"02",X"EB",X"4F", + X"9E",X"A0",X"89",X"5F",X"F1",X"F0",X"0C",X"B5",X"FB",X"8E",X"08",X"95",X"BF",X"6E",X"60",X"9A", + X"5F",X"F3",X"F0",X"28",X"4E",X"F6",X"9B",X"0A",X"87",X"8F",X"8F",X"10",X"95",X"BF",X"F2",X"F1", + X"0B",X"8C",X"8D",X"AF",X"05",X"78",X"CF",X"99",X"60",X"DA",X"C5",X"C8",X"F0",X"08",X"4D",X"DF", + X"8C",X"07",X"8F",X"48",X"DC",X"D0",X"90",X"D5",X"FE",X"64",X"0A",X"DA",X"2F",X"5F",X"40",X"83", + X"6C",X"FF",X"C0",X"0F",X"79",X"DB",X"4F",X"07",X"60",X"BF",X"F3",X"F0",X"97",X"DA",X"D5",X"CB", + X"0F",X"0D",X"6F",X"9E",X"40",X"77",X"F3",X"F7",X"F3",X"37",X"4B",X"5F",X"5F",X"00",X"9B",X"87", + X"F3",X"F0",X"59",X"08",X"EF",X"7F",X"05",X"79",X"8C",X"F6",X"F0",X"84",X"28",X"EF",X"3F",X"03", + X"77",X"BB",X"F5",X"F1",X"55",X"1B",X"CF",X"BF",X"03",X"6B",X"A8",X"F5",X"F3",X"46",X"36",X"EF", + X"1F",X"02",X"3A",X"78",X"FB",X"E6",X"24",X"46",X"BF",X"7F",X"81",X"0D",X"09",X"FD",X"FA",X"03", + X"60",X"BF",X"FB",X"F0",X"29",X"07",X"CF",X"AF",X"35",X"33",X"49",X"FB",X"F8",X"40",X"32",X"9F", + X"FB",X"E4",X"16",X"06",X"CF",X"FF",X"61",X"30",X"99",X"ED",X"FA",X"64",X"26",X"3E",X"EE",X"B6", + X"36",X"66",X"D7",X"F8",X"B5",X"47",X"5B",X"CB",X"6A",X"76",X"88",X"69",X"A9",X"C8",X"57",X"88", + X"89",X"88",X"9B",X"79",X"A5",X"9A",X"88",X"A5",X"9A",X"87",X"87",X"9C",X"79",X"89",X"69",X"88", + X"88",X"A8",X"C6",X"77",X"6B",X"98",X"9A",X"5A",X"65",X"A9",X"B8",X"A5",X"B6",X"68",X"9B",X"7C", + X"89",X"77",X"49",X"E7",X"C7",X"88",X"95",X"7A",X"9D",X"99",X"76",X"55",X"BA",X"D9",X"B5",X"87", + X"27",X"AE",X"EB",X"54",X"86",X"67",X"DD",X"C7",X"77",X"43",X"7C",X"FD",X"A5",X"67",X"55",X"7D", + X"DC",X"D6",X"05",X"84",X"AE",X"DC",X"95",X"27",X"36",X"BF",X"FA",X"71",X"65",X"66",X"FD",X"FB", + X"51",X"27",X"5B",X"FF",X"B8",X"32",X"44",X"7D",X"FF",X"B3",X"23",X"65",X"9F",X"FF",X"84",X"03", + X"57",X"DF",X"F7",X"53",X"34",X"77",X"FF",X"D8",X"32",X"27",X"7B",X"FE",X"C7",X"30",X"69",X"5E", + X"FE",X"75",X"03",X"77",X"9F",X"FD",X"61",X"15",X"78",X"CF",X"CB",X"70",X"09",X"94",X"FF",X"E6", + X"20",X"38",X"B8",X"FF",X"D1",X"13",X"58",X"8D",X"FD",X"86",X"01",X"AA",X"6D",X"FC",X"83",X"03", + X"AA",X"5F",X"FA",X"42",X"16",X"A7",X"AF",X"F9",X"51",X"19",X"A7",X"AF",X"E7",X"41",X"2A",X"A4", + X"FF",X"B6",X"30",X"3D",X"A6",X"FF",X"85",X"30",X"5C",X"97",X"FF",X"62",X"02",X"9C",X"7B",X"FB", + X"46",X"00",X"DD",X"6C",X"F8",X"44",X"03",X"CE",X"7E",X"F6",X"14",X"28",X"E9",X"4F",X"F2",X"64", + X"0C",X"F6",X"5F",X"D1",X"94",X"0B",X"F7",X"5F",X"C0",X"64",X"6C",X"D3",X"6F",X"93",X"A1",X"3F", + X"B1",X"BF",X"44",X"B0",X"5E",X"D0",X"BF",X"13",X"B3",X"7F",X"70",X"FF",X"07",X"80",X"BF",X"70", + X"FF",X"2B",X"60",X"CD",X"52",X"FC",X"09",X"73",X"DB",X"32",X"F7",X"2B",X"37",X"F9",X"07",X"F7", + X"4B",X"19",X"F7",X"18",X"F4",X"99",X"1B",X"A9",X"0A",X"F5",X"78",X"4B",X"C4",X"0F",X"F1",X"99", + X"2D",X"B3",X"0F",X"F4",X"A5",X"6B",X"96",X"0F",X"E2",X"97",X"3D",X"C0",X"3F",X"82",X"F4",X"1F", + X"90",X"AF",X"06",X"F0",X"3F",X"90",X"FF",X"0A",X"E0",X"AE",X"00",X"FF",X"0E",X"A0",X"DD",X"04", + X"FF",X"2F",X"40",X"FA",X"0E",X"F1",X"6F",X"05",X"F1",X"0F",X"F0",X"CC",X"09",X"F0",X"3F",X"F4", + X"C6",X"0D",X"F0",X"AF",X"45",X"E3",X"0F",X"40",X"FF",X"0C",X"C0",X"6F",X"00",X"FF",X"2C",X"70", + X"9F",X"06",X"FF",X"3E",X"50",X"F9",X"0F",X"F0",X"8E",X"02",X"F4",X"0F",X"F0",X"B8",X"08",X"F0", + X"1F",X"F2",X"B6",X"0E",X"C0",X"FF",X"F4",X"C1",X"1F",X"A0",X"FF",X"16",X"B0",X"4F",X"50",X"FF", + X"09",X"B0",X"AF",X"08",X"FF",X"1B",X"50",X"CC",X"0F",X"F4",X"3B",X"30",X"FA",X"0F",X"F0",X"4E", + X"06",X"F1",X"2F",X"F0",X"A9",X"0A",X"E0",X"9F",X"50",X"97",X"0C",X"E0",X"FF",X"20",X"D4",X"3E", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe3.ic6 b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe3.ic6 new file mode 100644 index 00000000..fc50b808 Binary files /dev/null and b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/kbe3.ic6 differ diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/prog.hex b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/prog.hex deleted file mode 100644 index 39ca22e6..00000000 --- a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/prog.hex +++ /dev/null @@ -1,769 +0,0 @@ -:10000000AF320170C32213003A2F43113043183B23 -:100010004FEB216040C3EF01E15E235623C35D0037 -:10002000856F3001247EC90087E3E75F2356EBE943 -:10003000E15E2356234E233EC74623C65991C5068B -:1000400000EDB04FEB09EBC110F4E9EB856FD62C56 -:10005000E67F322F43712C702C732C72C9ED530044 -:1000600043E92A0043E908D9DDE5FDE53A0078AF28 -:10007000320170323E58000000000000000021C82C -:10008000421106580604AF96121C1C121C1C2C10A0 -:10009000F53AD742ED441136580603121C1C10FBEA -:1000A0003A08434F3A0343A14F217042114058068A -:1000B000082C78FE063EF038073CCB4120023EEF8C -:1000C00096121C1C1C2D7E122C2C1C10E4DD21B061 -:1000D0004206081C78FE063E0030013DDD96011206 -:1000E0001C1C3EFBDD9600CB4120032FD605121CC5 -:1000F000DD23DD2310DD21E04211015806207E12B0 -:100100002C1C1C10F921104206087E122C1C7E1299 -:100110002C1C1C1C10F4012801CF21017036003664 -:1001200001FDE1DDE1D908C92A8442237DB4280319 -:10013000228442CD6200CD8601CD2107CD7204CD4F -:100140005905CD4408CDD208CD4611CD0B02CD3096 -:1001500002CD6F20CDE21ECD921BCDAA1D2640AF51 -:10016000C6606F7ED6013816772013E57DD660878E -:1001700087C6806F4E2C462C5E2C56EBCFE17DD689 -:100180005FE61F20DBC9211843347EE60FC07E0FD7 -:100190000F0F0F473A19432FB04F3A1543D601308E -:1001A00002AF4F280179320160793200602120537B -:1001B0001180503A0343A72801EB3C4F3A1A43A061 -:1001C000CCD101C4E001EB3A0243A7281379EE0336 -:1001D0004FE5FDE1FD360019FD36201EFD7140C9D9 -:1001E000E5FDE13E24FD7700FD7720FD7740C9065F -:1001F000207EA728042C10F9C9717DD6608787C698 -:10020000806FC1712C702C732C72C9211D43111C7D -:10021000430100031A873811F03F7ECE0027FE60AD -:1002200038023E00772C10F1C9712C10FC0F12C956 -:100230003A1543FE99D000000000000000000000C5 -:1002400000000000000000000000000000000000AE -:100250003A00602F0F2111437E1777E60FD60CCCA2 -:10026000A0253A00602F0F0F2112437E1777E60F6B -:10027000D60CC0019302CF21134334347EFE02C05A -:10028000018502CFC93E08D7C3CF250032046035AF -:1002900020F3C9000000000000000000003A0C43F9 -:1002A000211543862730023E9977216B22D42220E4 -:1002B0003A1643A7C811154321BF52010101C35C7F -:1002C0000321054306031ABED820051C2C10F7C9CC -:1002D0001A771C2C10FAC947E6F04F781F473806EA -:1002E0001F1F1FE60F4F3E0390E60747E72D7E894D -:1002F00027770E0010F7D036992C36992C3690C9F6 -:100300004FC579CD0A03C110F8C9473A1743A7C0B2 -:1003100078210D40CDD702CD4B04CD3103110D40D6 -:10032000CDC102112D40CDC102110543214152180A -:1003300028110D403A0343A7201C21A153181A117C -:100340000D40212D403A0343A72801EBE5CD3A03A8 -:10035000D13A0243A7C82101510104033EE0C54739 -:100360001A0F0F0F0FE60F20070DFA70033E24FA45 -:100370000E00771AE60F20070DFA7F033E24FA0ECF -:1003800000D55816FF197719D11C78E344E110CE37 -:10039000C9C6406F262766CD9D036729C9AF6F5731 -:1003A000CB7C280193CB7B280194060829300119C6 -:1003B00010FA84C92E000611AF17BB3801933FED28 -:1003C0006A10F6C90100081100407C92799B38053B -:1003D0004F7C9267A73FCB1329CB1129CB1110EA91 -:1003E000C9FD2120437B9530022F3CFDCB01164FE8 -:1003F0007A9430022F3CFDCB03165FB1F20304CB9D -:1004000039CB3BFD7100FD730263CD9D03E559635C -:10041000CD9D03D119CDC403FD6600CDB4037CA7E7 -:100420007D28023EFFA72809FDCB011E30022F3C8C -:100430001F4FFD6602CDB4037CA77D28023EFFA7B7 -:10044000C8FDCB031E30022F3C1FC93A1040A7C085 -:100450002A0D407D6C67292929297C210A43BED8B1 -:100460003E01321040217522CD1D20210A4034C3A7 -:1004700077183AD0423DC0CDB70429292929ED5B30 -:10048000D2421922D2427A47E6F86F260029291172 -:1004900018501978E607C670112000772CC6087727 -:1004A00019C610772DD6087778FED0D0E607C6900B -:1004B00019772CC60877C93A1743A720343AD14296 -:1004C000472100003A08434F3A0343A13A0060280D -:1004D000033A006887878787873809F03AD342FE56 -:1004E000D0D068C9F83AD342FE21D8AF90C86F2562 -:1004F000C93A1843E61FFE102023010008DD212021 -:1005000042CD2D05DD23DD2310F70607DD219042C6 -:10051000CD3A05DD23DD2310F7793286423AD14208 -:10052000472100003A86428738BBC818AFDD7E00FD -:10053000A7C8DD6E50DD6651180DDD7E00DDB60109 -:10054000C8DD6E20DD66210D3AD342BC3EA03804E2 -:10055000BDD01802BDD80C0CC93A8042A7C83A9E3B -:1005600042A720473AD0423D28066F6722BE42C9C3 -:10057000CD78063A1743A728083A1843E61FC01853 -:10058000253A0843473A0343A03A006028033A005B -:10059000682F070707072183427E1777E60FD60CDF -:1005A000C03E08CDE7053EB0329E423A9E4226004C -:1005B000873001256F2929293AAE428532AE423A69 -:1005C000BE428C32BE422ABE423A1843E601873D03 -:1005D00084677DFE10DA740622BE42D618FE4038CB -:1005E000183E0132C042C9473A1743A7C03E013204 -:1005F000056878D7AF320568C96FE6F00F0F0F0FA7 -:10060000EB21C842E7EBED448467222443AF32C0BC -:10061000427DE60FFE0CD07CE60FD602FE0CD03EEB -:100620000132C0427DE6F00F0F0FCB04CE006F7C8D -:10063000E6E00707073C4726403E800710FDA6C8B6 -:10064000AE777DD60021E342E7218606E7CD0A0397 -:100650002A24437D0F0F0FE61E5F7C070757E6C075 -:10066000B35F7AE603572103501901E006CF214B0F -:1006700022CD1D20AF329E423A18430F3AD342CECC -:1006800007672EBC22BE42C951413121E5DDE1E5BB -:10069000DD36F030E13E08D7E5DDE1DD36F0313E14 -:1006A00008D7E5DDE1DD36F0283E08D7E5DDE13AA3 -:1006B0002E42FE03201E0107072120427EB9281486 -:1006C0002C2C10F8DD360007DD36F03C3AFB42DD1D -:1006D00077F11848AFDD7700DD7750DD7751183CB2 -:1006E000E5FDE1E53EC0CDD719E13E08D7E5FDE1E6 -:1006F0003EC4CDD7193E08D7E5FDE13EA0CDD719C0 -:100700003E08D7E5FDE1CDC8190608AF210040B687 -:100710002C10FCA7200632C342CD740821084035B6 -:10072000C93A2E42A7C83AD742CDFF073A2E423DDA -:10073000C03AD5426F2600ED5BD6423AD442BA2881 -:10074000303006AF9528026F25292929291922D68C -:10075000427CE603C0CB54200CF71B5003024445F7 -:1007600046474849C9F71B5003024A4B4C4D4E4F70 -:10077000C921D4423AD342860F473A184380FE201B -:100780003002C620FED13802D62F77C921321B1184 -:10079000E042012000EDB0F751500A02303132330F -:1007A0003435365F5F5F243738393A3B3C5B6B5BEF -:1007B000F791530A0230313233343D3E533F5324D4 -:1007C0003738393A40415F5F5F219950112000016D -:1007D0009818711910FC3E20211B50111E00062094 -:1007E00036242C36242C36671910F532D74232D4F1 -:1007F00042ED441136580603121C1C10FBED442F29 -:10080000C6E4CD080879C62C4FE6F86F26002929E2 -:10081000111B501979E607C650112000772C772C50 -:10082000C6107719C60CFE7038023E6F772DD610B1 -:10083000772D77FE5FC01979E607C654772C772CA1 -:10084000C61077C93AC042A7C82AC242296C2600FE -:10085000300125292929294C7DA721C1427ECC7E42 -:10086000082600873001256F2929ED5BC242192235 -:10087000C242297C21C8420604772C10FCC9A7C8B3 -:10088000DD210040DD7E00DDB602DDB604DDB6060A -:100890005FDD7E01DDB603DDB605DDB60757B320AB -:1008A000033333C9CB7E281506027BA7200306FA43 -:1008B0007A050F30FC78B97EF8ED4477C906FE7AE8 -:1008C000A7200306067B040730FC79B87EF8ED44C8 -:1008D00077C93A0242A7C8CD380DDD21204206076C -:1008E000C5DD7E00210209EF26003409470ACE0A41 -:1008F0002600A80DEE0EC80E26002600500AEE0EA9 -:10090000EE0EDD7E00212309EF26002B092B092E98 -:100910000926002B09B20F2600260026002E090307 -:10092000104B10DD23DD23C110B6C9CDD511CD4D3F -:100930000CC3C40CDD7E50FEDE381EDD3600022105 -:100940002D0A3A08403DBE233804232318F85E23BD -:1009500056EBCD331DDD7701C9FEC0383B3A084068 -:100960003D3A044220033A054247DD7E30CD7F09FF -:10097000DD7730DD7E31CD8709DD7731C3D40BA73C -:10098000FA8509B8D078C9A7FA8F09B8D878C9ED1F -:1009900044B8380178ED44C9118001DD6E20DD6670 -:1009A0002119DD7520DD7421CDAF09CDD409C9DD54 -:1009B0007E21871E20CD91037CDD8630876F260047 -:1009C000300125DD5650DD5E4029292919DD7540AD -:1009D000DD7450C9DD7E211E10CD91037CDD863192 -:1009E000876F2600300125DD5651DD5E412929291A -:1009F00019DD7541DD7451DD7E3187381AC8DD7E21 -:100A000051C608FEF8D8DD7E31ED44DD7731DD36A4 -:100A100051EFDD362180C9DD7E51FEF8D8DD7E3113 -:100A2000ED44DD7731AFDD7751DD7721C906390A35 -:100A3000123B0A1E410AFF450AFFB401780596FFE2 -:100A4000B40378FF96FF78DD3501C0DD360003C9B9 -:100A5000CDD40BDD7E50FE083054AFDD360003DD13 -:100A60007750DD77516F67322E42227E42328142CB -:100A700032034232024232804232C04232C5423EEA -:100A80000232D042216523CD4D20219322CD4D202D -:100A9000218522CD1D203E03CD0620F78D51010971 -:100AA00043240E220B240E220B01720BCFC9C61059 -:100AB0002EDEBD30016FDD6651227E42E607C0CBDF -:100AC0005D2E3428012C3AFB4267221E42C9CDD448 -:100AD0000BDD7E50FED0380D3A0A42ED44DD773012 -:100AE000DD363100C92AC242296C2600300125DDDD -:100AF0007E100F4FE6F085577CCE00C07987878740 -:100B000087C6185FDD6E50DD66517C9220027D93B2 -:100B100020243A0840FE07300DDD360001DD6E501E -:100B2000DD6651C3C81CAFDD7700DD7750DD77513E -:100B3000CDB60BC30D1FCDE10367CD4C0B5FCD9739 -:100B400003DD743161CD9703DD7430C97BFE203045 -:100B50000C3AC142A7F25A0BED44C610C9DD7E0023 -:100B6000FE0A3A0A42C03A08403D3A0742C03A08F3 -:100B700042C93EB4D7AFCD06200607DD212042C5CD -:100B8000CDAB0BAFDD7700DD7750DD7751DD23DDB9 -:100B900023C110EBDD7700DD7750DD7751010030A8 -:100BA000219042712C10FCDF391AC9DD7E00A7C8E4 -:100BB000FE04C8FE07C8210040DD7E10E61F856FD9 -:100BC000DD7E10E6E00707073C4F473E800710FD3B -:100BD000AE7741C9CDDB0BCD060CC9DD7E30DD5EC5 -:100BE00040DD56502600876F30012529292919DD5F -:100BF0007540DD74507CFEF0D8DD365000DD7E306F -:100C0000ED44DD7730C9DD7E31DD5E41DD565126B4 -:100C100000876F30012529292919DD7541DD7451BF -:100C2000DD7E31873814C87CC608FEF8D8DD7E31F9 -:100C3000ED44DD7731DD3651EFC9DD7E51FEF8D868 -:100C4000DD7E31ED44DD7731DD365100C93A9E421B -:100C5000A7C83ABE42DD9650FE0CD03ABF42DD96A0 -:100C600051D602FE0CD03E0132C042CD7406DD7E6C -:100C700000FE04C8FE0A0602200104DD7EF1218682 -:100C800006E7CD0003CD9A0CDD360004DDE5E10179 -:100C90008C06CF214B22CD1D20C9DD7E00FE0AC06F -:100CA0003E03322E42219322CD4D20211D21CD1D08 -:100CB000203E02CD062021AD5111200001240671F5 -:100CC0001910FCC93A2E423DC03ED0DD9650FEE1DF -:100CD000D83AD742DD9651C60CFE19D0DD36000A4F -:100CE000219322CD1D203E01CD0620060721204262 -:100CF0007E3D200236032C2C10F63E02322E42AFEF -:100D0000320342328142DD6E50DD6651227E427CEA -:100D1000ED44571E00CD360B2E343AFB4267221E9F -:100D200042F71B500302242467242467F7AD5101C6 -:100D300006432419150E11C9DD212E42DD7E00FE69 -:100D400003C03A09428726003001256F292929DD91 -:100D50005E40DD565019DD7540DD74507CFEDD3897 -:100D600035DD7E51DD360001DD365000DD365100C7 -:100D70000120D0B9300179B8380178CDD807211DCC -:100D800021CD4D20AFCD06203A0840A7C83E013204 -:100D90000342328142C9E607C0CB5C2E3628012CC3 -:100DA0003AFB4267221E42C9CDD40B2120420100EA -:100DB000077EFE0520010C2C2C10F679FE03281569 -:100DC00006072120427EFE05200236032C2C10F55A -:100DD000AF320042C9DD7E50FE58303DDDE5E12CEA -:100DE0002C7DFE2E20022E207EFE0520F2115000CA -:100DF000195E2C56DD6E50DD6651CDE103677BFE3A -:100E000010D83A0442875FCD9703DD743161CD97E6 -:100E1000033A044284DD7730C9010507FD212042F1 -:100E2000C5CD600EC1FD23FD2310F5FD212E42FD31 -:100E30002BFD2BFD7E00FE0820F5212E422D2D7E60 -:100E4000FE0620F9FD36F03A11F1FF197EFD77F12B -:100E5000115F00197ED610FD77502C7EFD7751C9A9 -:100E6000FD7E00B9C03A01428787FD86F121B60EAA -:100E7000E7FD77003A01422FC606FD77F1FD7E00BF -:100E8000FE06280AD609C0FD7750FD7751C9FD3608 -:100E9000F03BFD6E50FD66513AD742571EFFFDE50F -:100EA000CDE103FDE1673A06425FCD9703FD743162 -:100EB00061CD9703FD7430C90106090809010806D0 -:100EC00006080109080906013A2E42FE03280BAF65 -:100ED000DD7700DD7750DD7751C92A7E427DD6105F -:100EE000DD7750DD7451E607C0DD36F03CC9DD7EAC -:100EF00050FEC03026CD9809010807FD212042FD93 -:100F00007E00B92807FD23FD2310F4C9DD7E50D6ED -:100F100010FD7750DD7E51FD7751C9DD7E10E6066C -:100F200021E342E7DD77F1DD36F02C3A0442DD774C -:100F300030DD360001010907FD212042FD7E00B9A8 -:100F40002807FD23FD2310F4C9FD7E10E60621E3EA -:100F500042E7FD77F1FD36F02CDD7E50FD7750DD68 -:100F60007E51FD77513A0442FD7730FD7731FD36F1 -:100F70000001010807FD212042FD7E00B92807FD80 -:100F800023FD2310F4C9FD7E10E60621E342E7FDB0 -:100F900077F1FD36F02CDD7E50FD7750DD7E51FD82 -:100FA00077513A0442FD7730ED44FD7731FD36004C -:100FB00001C93A9E42A7C83ABE42DD9650FE0CD007 -:100FC0003ABF42DD9651FE10D0CD7406CD9010DDB3 -:100FD0007EF1213C11E7DD77F1DD36F03EDD3600B4 -:100FE0000B212E422D2D7EFE0820F9E5FDE1FD7E30 -:100FF00050C610FD77503604018C06CF214B22CD10 -:101000001D20C93A9E42A7C83ABE42DD9650FE0C4A -:10101000D03ABF42DD9651D601FE0ED0CD7406CD3A -:101020009D10DD7EF1214011E7DD77F1DD36F02CFA -:10103000DD36000C212E422D2D7EFE0920F93604CE -:10104000018C06CF214B22CD1D20C93A9E42A7C854 -:101050003ABE42DD9650FE0CD03ABF42DD9651D6E4 -:1010600002FE0CD0CD7406CDAA10DDE5E1360401F8 -:101070008C06CF214B22CD1D20AF3203423281425C -:101080003EF0D73A80423281423A0242320342C9AC -:10109000211A11CDB710212611CDEF10C9211E1133 -:1010A000CDB710212E11CDEF10C9212211CDB710CF -:1010B000213611CDEF10C93A0142E7FE2320073E49 -:1010C00013CD0A033E52CD0A03DD7E51E6F8FE1829 -:1010D00030023E18FEC038023EC06F26002929DDCE -:1010E0007E50E6F80F0F0F856F11215019EBC93AAA -:1010F000014287E74E2346EB1120007EFE242008A4 -:10110000E5197EE1FE2428032B18F07119703E1EAC -:10111000D711E0FF3624193624C922324252325206 -:10112000621352721323C8C9C8CAC8CBC8CCC8CA74 -:10113000C8CCC8CDCFF4C8CCC8CECFF4CFF503050A -:101140000204050403023A8042A7C8DD219042064A -:1011500007C5DD7E00A7C46B11DD7E01A7C4A41105 -:10116000CDEF11DD23DD23C110E7C9260087300153 -:10117000256F292929DD5E10DD562019DD7510DD6A -:1011800074207CD610FEBDD8DD7E21E6F86FD62017 -:10119000FEC0302D2600292911195019364201CFE1 -:1011A00011CF181D2600873001256F292929DD5E02 -:1011B00011DD562119DD7511DD74217CD610FEE09C -:1011C000D8AFDD7700DD7701DD7720DD7721C93EFF -:1011D00008D73698C93AD0423DC03EB3DD9650FE9E -:1011E000EAD83AD342DD9651C60BFE17D018193A09 -:1011F000D0423DC03EBFDD9620FEF0D83AD342DD5E -:101200009621FEF2D8CDC111AF32D042011112CFDA -:10121000C93E10CD10133AD342FED038023EC8E684 -:10122000F86F2600292911185019E511200036A45D -:101230002C36A51936A72D36A61936A82C36A9E1C5 -:101240003E10D7E511200036AA2C36AB1936AD2D4D -:1012500036AC1936AE2C36AFE13E10D71120003E29 -:1012600024772C36981936982D7719772C36983E96 -:101270002DD73E10D73AD042A7C0212B43772C77E9 -:101280002C770607DD212042DD7E50D6A0FE3030CF -:101290003FDD7E51E6F80F0F0FC547112B43FE0DC2 -:1012A00038011CD6053001AFFE083802D608FE1002 -:1012B0003801AF4F78FE05380C2FC61E3801AFFE3F -:1012C0000538023E05CDEF1BC11AB5121C1AB41227 -:1012D000DD23DD2310B20E170D289779CB2F3803AD -:1012E0002FC61747112B43FE0B38031CD6082103CA -:1012F00000A72804293D20FC1AA56F1C1AA4B520BC -:10130000D73E048087878732D3423E0132D042C91C -:10131000473A1743A7C03E0132036878D7AF32037C -:1013200068C931F3233A0078210060010003712C71 -:101330007DE60720F97CC6086710F3210040110004 -:101340000471231B7BB220F93D32284332007821FF -:1013500000500100043624230B79B020F8AF21C8D7 -:10136000420604772C10FC32D742211042067077D7 -:101370002C10FC2190420630772C10FC21005806DE -:1013800080772C10FC3A084347C36516006F67222C -:101390000670C93A00704FE60121D113E7320A43C3 -:1013A000790F4FE601320B83790F4FE601C6023207 -:1013B0000943790FE6013208433A0068074FE60116 -:1013C00026052802260379072FE6013C6F220B43EE -:1013D000C91520000F0FE601320D43C9101215FF89 -:1013E000310044CD93133E013203700100283A00CE -:1013F000780D20FA10F80000000000AF0000320E57 -:1014000043AF3203700100283A0078AF00000000BB -:1014100000000000000000000000DF52143E013216 -:101420000243328842328942328A423201703204A7 -:10143000702A2E437DBC28F9213043856FD62CE6D7 -:101440007F322E43113114D55E2C56D52C5E2C568E -:10145000EBC9CD7C14DF5914C9CD8016217C4235EF -:10146000286A7EFEF0D0C610FE30D82C2C77E6031A -:10147000C0CB563E3428013C321E42C9AF32024234 -:10148000320342322E4232804232814232C04232F4 -:10149000C54232D04232D8423C321743CD4F13219D -:1014A000721B11E042012000EDB0CD9D18CD3F032D -:1014B000CD4A16CD28022100C0227C42227E422144 -:1014C0002C02221C42213406221E42C9DF8016F75C -:1014D0004751010A43240E16240D1B0A1E103E3CE0 -:1014E000D7F7CD5001130E150B0A1D240E0C170A49 -:1014F0001F0D0A240E1B180C1C3E3CD7F73151015E -:101500000D00000501240000000124000005F70F74 -:10151000530302E9ECEDEBEEEF3E3CD7F73351011C -:101520000C000501242400000124240005F71253B7 -:101530000202B0B1B2B33E3CD7F73551010C000204 -:1015400001242400082424240004F714530202B0C8 -:10155000B1B2B33E3CD7F73751010C000924242423 -:1015600000062424240003F716530202B0B1B2B3DC -:101570003E3CD7F73951010C0006242424000424F2 -:1015800024240002F718530202B0B1B2B33E3CD794 -:10159000F79C51010724242424120A1D3E3CD71134 -:1015A000EF423E03121C121C12F73151010D0000D4 -:1015B00000012400000624240000043E3CD711EF63 -:1015C000423E04121C121C12F73151010D0000079B -:1015D000242400000524240000033E3CD711EF42E0 -:1015E0003E05121C121C12F73151010D000005249A -:1015F0002400000324240000023E3CD7DF7316CDF4 -:101600004F13CD8C07CD9D18CD3F033E0632C1420E -:10161000AF320940320B40CDD918AF32D0423C3204 -:10162000C04232C54232D8423202423280423E7813 -:10163000D73E1032D142CD75123E0832D5423E011E -:10164000322E42320342328142C93A0B43A7281458 -:10165000F7FF5201061D120D0E1B0C3E0132164300 -:10166000CDB002C9C93A0343A02FC38C13000000B8 -:101670001B0FC93A0840A72004DF5214C9CD231B11 -:101680003A1543A7C811880221804006204E2C7EBF -:101690002CBA200279BB28062C2C10F1180B7DD611 -:1016A000820F0FC6606F7EA7C021604001002071CD -:1016B0002C10FCDF5817AF3217433210403209406C -:1016C000320B40320242320342322E4232804232E8 -:1016D000814232C04232C54232D04232D8423C32DC -:1016E00019433A0943320A40CDD918CD4F1321523C -:1016F0001B11E042012000EDB0CD9D18CD4A16CD62 -:101700002802F7ED50011117181D1D1E0B241D1B7B -:101710000A1D1C24111C1E193A0A433C2826F79462 -:101720005001181C1D19240000002424241B180F2C -:101730002410171214241C1E17180B110A4321948D -:1017400051CDBB02F73851010E02080901241D11C9 -:1017500010121B2219180CC93A15433D2015F71019 -:1017600051010E2422151718241B0E220A151924C4 -:10177000011813F71051010E1C1B0E220A15192413 -:1017800002241B182401CD3F03210068AFCB462063 -:101790000A3A15433DC8CB4EC83E01320243DFAF83 -:1017A000183A0B43A7280C3A02432FC69A21154337 -:1017B000862777AF321643321943210D40772C77B5 -:1017C0002C77212D40772C772C773C32C04232C5C4 -:1017D0004232D8423EC0321C432100401120400614 -:1017E000207E122C1C10FA3A0243A7200921204027 -:1017F0000620772C10FC210722CD1D20CD04183E99 -:10180000F0D71845CD4F13CD8C07CD9D18CD3F0394 -:10181000CD7718CD50193E0632C142AF32D0423298 -:10182000C342CD74083E0132C04232C54232D84272 -:10183000321A43210460002C772C772C7721006822 -:10184000772C772C77C9CD04183E3CD73E1032D187 -:1018500042CD75123E0832D5423E01328042322ED0 -:1018600042210A4035CD77183E78D73E01320242F8 -:10187000320342328142C93A0A404F3E0591FD216E -:101880009E52114000280847CDC819FD1910F9795A -:10189000A7C8473E2CCDD719FD1910F7C9F76051DD -:1018A000010A0E1B180C1C2411101211C329033A33 -:1018B0000840A7C0DF2600AF3203423281422165D3 -:1018C00023CD4D203EB4D7DFAF18CDD9183E78D701 -:1018D0003E01320342328142C93E2A3208403E096B -:1018E000320042AF32C342CD740821C0191100400A -:1018F000010800EDB02109407EC60127FE493001F4 -:1019000077210B407EA728033A0D43C60186380194 -:101910007721E719CD331D32044221F919CD331D4A -:10192000320542210B1ACD331D320642210D1ACD4C -:10193000331D32074221211ACD331D320842213591 -:101940001ACD331D32094221371ACD331D320A42D6 -:10195000210000228442215E501120003A0940E615 -:101960000F282CFE05281C3802D6054736FC2C36DD -:10197000FD1936FF2D36FE1910F23A0940E60FFE2A -:1019800005380C36262C36271936292D3628193AD3 -:1019900009400F0F0F0FE60F280F47362A2C362766 -:1019A0001936292D362B1910F27CFE5220037DFEAC -:1019B0005EC836242C36241936242D36241918E90D -:1019C000FC3FFC3FF81FF00F3E24FD7700FD770140 -:1019D000FD7720FD7721C9FD77003CFD77013CFDB7 -:1019E00077203CFD7721C90110021203140415066B -:1019F0001607140B170C14FF18011002120314041D -:101A000015061607140B170C14FF18FF0C01100213 -:101A100012031404150616071209170B180C14FFED -:101A20001901100212031404150616071209170BE8 -:101A3000180C14FF19FF0EFF203A1743A72804DFE4 -:101A40005214C9DF2600AF321A4332024232034237 -:101A5000322E4232804232814232C04232C542325C -:101A6000D04232D842210460002C772C772C772189 -:101A70000068772C772C773A0243A7282C3A0A4043 -:101A8000A7201501881ACFC9CD091BCDE61A3EF053 -:101A9000D7DF951AC9DF26003A2A40A7280BCDCDFB -:101AA0001A014618CFDFAF18C93A0A40A720F20141 -:101AB000B41ACFC9AF32D842CD091B3E78D73A030A -:101AC00043A7C4CD1AAF321C43DF5214C9062011FC -:101AD00000402120401A4EEB12711C2C10F72103FC -:101AE000437EEE0177C9F7F25101061B0E220A155B -:101AF000193A0343A72009F7725101030E1718C9B9 -:101B0000F77251010318201DC9218D5111200001C8 -:101B10002409711910FC21725111200001240A714D -:101B20001910FCF7945101091B0E1F18240E160AF8 -:101B300010C9070707020203030404050500000398 -:101B4000030000000000000000000707060606066C -:101B50000101070707070707070707070707070721 -:101B60000707070707070404040401010101010135 -:101B70000101070707070707070707070707070701 -:101B80000702020202020303040405050101010128 -:101B9000010121894235C0CD151D3289423A0342E7 -:101BA000A7C83A0840A7C8FE0A380A2100427ED6D4 -:101BB00001DA4A1F770607DD212042DD7E00A728D3 -:101BC00042DD23DD2310F4C93AC342E6F80F0F0FBC -:101BD000472FC602FEF03801AFE60F4F78FE1030F7 -:101BE000012FE60F3DF2E91BAFFE0D38023E0D213D -:101BF0000000A728064737ED6A10FB79A7C84729D8 -:101C000010FDC9CDC81BFD210040FD7E00FDB602C0 -:101C1000FDB604FDB606A55FFD7E01FDB603FDB66B -:101C200005FDB607A4572108403AC142873819017B -:101C3000000178A3202C0CCB0030F72C0E0078A2EA -:101C400020200CCB0030F7C92C01078078A220128D -:101C50000DCB0830F72D0E0778A320060DCB0830EA -:101C6000F7C92D2D78A628FAAE77790F0F570F8573 -:101C7000D600DD77107AE6C05F7AE601577DD600A0 -:101C80000F3002141487835FFD210350FD19CDC866 -:101C900019DD36F02CDD7E10E61E21E342E7DD770C -:101CA000F1DD7E10E6E067DD7E100FCB1C878787B5 -:101CB00087C6186FDD7E10E61E0FC6C85F16421A73 -:101CC0008467DD7550DD7451E52182427E07078609 -:101CD0003C77E67FC640E1571EFFCDE103673A043B -:101CE000425FCD9703DD743161CD9703DD7430DD44 -:101CF0007E100F2FE680DD7721DD36000121652380 -:101D0000CD1D200608AF210040B62C10FCA7C03224 -:101D1000C342C374083A0840FE0730033E0AC92193 -:101D20004F1D3A8542BE2338062804232318F65E49 -:101D30002356EB3A0D43A73A0B402009FE10380515 -:101D40003E0C320B403DBE2338032318F97EC904F4 -:101D50005E1D08721D0C821D10921DFF9E1D0178D4 -:101D600002500346043C053706320750082D092867 -:101D7000FF230164023C0332052D0628073C08239B -:101D8000FF1E0150023203280523061E0732081EDB -:101D9000FF1901500228061E07280819FF14013CEC -:101DA000031E05190614071EFF14218A4235C0368A -:101DB0001E3A0840A7C83AD0423DC03A8142A7C85F -:101DC0000100072190427E2CB628010C2C10F7212F -:101DD000B01E3A08403DBE233804232318F85E2382 -:101DE00056EBCD331D3DB9D8CDC81BDD210040DDFC -:101DF0007E00DDB602DDB604DDB606A55FDD7E0140 -:101E0000DDB603DDB605DDB607A457DD218E42DD64 -:101E100023DD23DD7E00DDB60120F47AB3CA8C1EFB -:101E2000CDE91F2109408738012D4F0707073C479F -:101E30003E800710FD472D2D78A628FA617DD6003B -:101E40006FE61E0FC6C85F7D0FCB1C87878787C6CE -:101E5000246F16421AC6078467DD7520DD74213AA7 -:101E6000D342C608571EC8CDE10367C640FE81387D -:101E70000BFE400E6E2640F27C1E26C01E1CCD9727 -:101E800003DD740161CD9703DD7400C90607FD21F0 -:101E90002042FD7E003D2007FD7E50FE803807FD7C -:101EA00023FD2310EDC9C60C6FFD7E51C60718A88F -:101EB00006BC1E12C81E1ED41EFFDC1E0103020437 -:101EC000060507040E06FF070102020306040703C6 -:101ED0000E05FF06020207030E04FF0507020E03AC -:101EE000FF0421884235C036103AD842A7C821C421 -:101EF000427E3CFE0C3801AF772100404E0608CBF5 -:101F000001DC0D1F10F92C7DFE0838F0C9E5110029 -:101F10004019EBCB3B783002C6083D6F26002929DB -:101F20002929291929EBFD210350FD193AC542A79A -:101F300028033AC442213E1FE7CDD719E1C9B0B406 -:101F4000B8BCB8B4B0B4B8BCB8B4010007112042F2 -:101F50001AA720010C1C1C10F779FE03D83E093289 -:101F60000042CDC81B1100400110001AA5C5471C36 -:101F70001AA4B0C128020437CB111C30EE78FE033E -:101F8000D83EFF280C3AD742E6033C473E7F071075 -:101F9000FDA10604050F38FC7832014287C6004FC8 -:101FA000060421004079BD280BC5E5CDBF1FDD36F5 -:101FB0000005E1C12C2C10ED216523CD1D20C9E5C4 -:101FC0005E2C56CDE91FE18730012C0707074F3CF7 -:101FD000473E800710FDAE77DD212042DD7E00A761 -:101FE000CA6A1CDD23DD2318F32182427E0707869F -:101FF0003C770F0F0F0FAEE60F3C47EBAFD6102923 -:1020000030FB2C10F8C9A7280C473A1743A7C03A51 -:102010000E43A7C0783200700F320270C93A1743DE -:10202000A7C03A0E43A720037E87D8CD5B20360198 -:102030002C3600C93A1743A7C03A0E43A720037EA7 -:1020400087D8CD5B207EA7C0342C3600C9CD5B205D -:1020500036003EFF322843320078C911FB201A13A4 -:10206000BD20041ABC28031318F421441F19C90603 -:1020700010DD214040C5CD9320C1DD23DD2310F5C7 -:102080003A26433207683A27433206683A284332F1 -:102090000078C9DD7E00A7C83E10908721FB20E7AD -:1020A0005F23566B62DD7E00E74707073226430752 -:1020B00032274378E61F21DB20E732284378873038 -:1020C00005DD360000C9DD7E01D6013804DD77016B -:1020D000C91AE67FDD7701DD3400C9000E1C293501 -:1020E000404B555E6770787F878D949A9FA5AAAF05 -:1020F000B3B7BBBFC3C6C9CCCFD2FF652365234BE3 -:10210000224B224B224B221D2193221B211B211BE0 -:10211000211B218522072275226B22009F8011132B -:102120001113111311131D1C1A18161513111F1F4B -:102130001F1F1F1F1F1F1F1F1F1F1F1F1F1F0507E1 -:1021400005070507050711100E0C0A0907051F1FD3 -:102150001F1F1F1F1F1F1F1F1F1F1F1F1F1F0C0EB3 -:102160000C0E0C0E0C0E1817151311100E0C1F1F51 -:102170001F1F1F1F1F1F1F1F1F1F1F1F1F1F0002AB -:102180000002000200020C0B0907050402001F1FD9 -:102190001F1F1F1F1F1F11131113111311131D1CBC -:1021A0001A18161513111F1F1F1F1F1F1F1F1F1F78 -:1021B0001F1F1F1F1F1F0507050705070507111014 -:1021C0000E0C0A0907051F1F1F1F1F1F1F1F1F1FA0 -:1021D0001F1F1F1F1F1F0C0E0C0E0C0E0C0E1817AE -:1021E000151311100E0C1F1F1F1F1F1F1F1F1F1F56 -:1021F0001F1F1F1F1F1F00020002000200020C0B06 -:102200000907050402009F045A5A5A1F5855551FC2 -:10221000535A5A1F5855551F535C5A5857555352C5 -:10222000504E5052535557585A5C5A5A1F5855558C -:102230001F535A5A1F5855551F534E504E50535501 -:102240005355585A585A5C5E5C5E9F000011021349 -:1022500005180B1D0E1E001E0E001E0E1D0C1B0A67 -:10226000100817051403120211019F0060626465D3 -:1022700067696B6C9F047E1F7E1F7E1F7E1F7E1F03 -:102280007E1F7E7E9F850C0C1F07091F07091F0CF0 -:102290001F0C9F80000203040504030201030405D0 -:1022A00006050403020405060706050403050607E0 -:1022B00008070605040607080908070605070809B0 -:1022C0000A0908070608090A0B0A090807090A0B80 -:1022D0000C0B0A09080A0B0C0D0C0B0A090B0C0D50 -:1022E0000E0D0C0B0A0C0D0E0F0E0D0C0B0D0E0F20 -:1022F000100F0E0D0C0E0F1011100F0E0D0F1011F0 -:102300001211101F0E101112131211100F111213AF -:10231000141312111012131415141312111314158F -:10232000161514131214151617161514131516175F -:10233000181716151416171819181716151718192F -:102340001A1918171618191A1B1A191817191A1BFF -:102350001C1B1A19181A1B1C1D1C1B1A191B1C1DCF -:102360001E1D1C1B9F00100E0D0C0B0C0D0E0F0DD7 -:102370000C0B0A0B0C0D0E0C0B0A090A0B0C0D0BA7 -:102380000A0908090A0B0C0A09080708090A0B09B7 -:102390000807060708090A080706050607080908C6 -:1023A00007060504050607080605040304050607D5 -:1023B00005040302030405060504030201020304E5 -:1023C00005030201000102039FF523482400400F8A -:1023D0000448240040F004CF24482400500F04484F -:1023E000240050F004482400580F0148240058F0FD -:1023F00001C624E52411FC262100000100103A004A -:102400007879864F2C20FA2410F41AB92000137B17 -:10241000FEFE38E701000828E53E183202523E145D -:1024200018037BD6FB21E25177061821A252112016 -:10243000003616197019361BFE14C83A00783A0097 -:1024400060CB7720F6C30000160FE1C15A3A00783E -:102450007B0F0F0F0F8380A1777B8787833C5F2CD7 -:1024600020EE2410E83B3B3B3BE1C15A3A00787B2D -:102470000F0F0F0F8380AEA120177B8787833C5FF0 -:102480002C20EC2410E6153B3B3B3BF24A24E1C1F7 -:10249000C979E6014F7C0F0FE60620023E0293FE4B -:1024A0000338174F21005011004006043A00781AF3 -:1024B000771C2C20FA142410F37921E45177060AB2 -:1024C00021A452C32E243E183204423E1418D421B3 -:1024D00000401100500100043A00781A7723130BD2 -:1024E00079B020F4C93100443A0078210058010045 -:1024F00080712C10FC010520210158712C2C10FB3F -:10250000AF3204700100283A00780D20FA10F83A32 -:1025100000783A0068CB6F20003E01320470010061 -:10252000283A00780D20FA10F83A00783A0068CB83 -:102530006F28003A00783A0068CB6F20003E0132E5 -:10254000006032016032026032044300000000008B -:102550000000AF00003201703204433DC3822521E8 -:10256000005001000436F6230B79B020F80100007A -:102570003A00780D20FA10F83A00780000000000C8 -:102580000000318625C92513E013CD9313CD9F2577 -:10259000CDBF25CD1326CD4526CD5526C31A01C95D -:1025A00001B225CF211043C37A02000000000000D1 -:1025B00000C93A0B432114433496C0773CC3A002B0 -:1025C0003E08D77E2FE60132036035C28502C97D01 -:1025D000FE10CAC3257E2FE60132046835C285028B -:1025E000C92432085228023E1C3228523A0C433287 -:1025F000E8513D3E2428023E1C32E850F7085101C4 -:10260000071D120D0E1B0C24F74852010517121856 -:102610000C24C9F72A52010724241C1E17180B3A50 -:102620000A433C2813F74A510105242400000021E5 -:102630000A52110A43C3BB02F74A5101071017128D -:10264000111D1817C9F78C520104101712143A09FA -:102650004332EC51C93E0132066832076801FF0B74 -:10266000DD21CD26210041E5DD7E00E6F8571E0084 -:10267000DD7E00E6073CC5471A2F0F10FDC1380369 -:10268000DD4E017E1777E60FFE0CCCBF26E12CDD78 -:1026900023DD2310D27932007821104111E3260680 -:1026A000101AFEFF2802BEC0132C10F5F778510156 -:1026B0000D180C160A1724220B240E0D0A16C9C574 -:1026C00006102110417E712C4F10FAC1C9A200A33F -:1026D0001CA435A840A955AA67AB78AC7FA78DA0EC -:1026E0009AA19F55555540351C001C1C4035355549 -:1026F000FFFFFF0000000000000000000CB390B1DD -:10270000000306090C101316191C1F2225282B2E56 -:10271000313336393C3F414447494C4E515355586B -:102720005A5C5E60626466686A6B6D6F7071737428 -:10273000757678797A7A7B7C7D7D7E7E7E7F7F7FE1 -:102740007F7F7F7F7E7E7E7D7D7C7B7A7A797876C7 -:1027500075747371706F6D6B6A68666462605E5CDD -:102760005A585553514E4C494744413F3C393633F2 -:10277000312E2B2825221F1C191613100C090603B5 -:1027800000FDFAF7F4F0EDEAE7E4E1DEDBD8D5D2BC -:10279000CFCDCAC7C4C1BFBCB9B7B4B2AFADABA887 -:1027A000A6A4A2A09E9C9A9896959391908F8D8CAA -:1027B0008B8A8887868685848383828282818181D1 -:1027C0008181818182828283838485868687888ACB -:1027D0008B8C8D8F9091939596989A9C9EA0A2A495 -:1027E000A6A8ABADAFB2B4B7B9BCBFC1C4C7CACD60 -:1027F000CFD2D5D8DBDEE1E4E7EAEDF0F4F7FAFD7D -:10280000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8 -:10281000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8 -:10282000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8 -:10283000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8 -:10284000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98 -:10285000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88 -:10286000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78 -:10287000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68 -:10288000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58 -:10289000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 -:1028A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 -:1028B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28 -:1028C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 -:1028D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08 -:1028E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 -:1028F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8 -:10290000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7 -:10291000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7 -:10292000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7 -:10293000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7 -:10294000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97 -:10295000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87 -:10296000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77 -:10297000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67 -:10298000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57 -:10299000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47 -:1029A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37 -:1029B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27 -:1029C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17 -:1029D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07 -:1029E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7 -:1029F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7 -:102A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6 -:102A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6 -:102A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6 -:102A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6 -:102A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96 -:102A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86 -:102A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76 -:102A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66 -:102A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56 -:102A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 -:102AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36 -:102AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26 -:102AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16 -:102AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06 -:102AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6 -:102AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6 -:102B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5 -:102B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5 -:102B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 -:102B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5 -:102B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95 -:102B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85 -:102B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75 -:102B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65 -:102B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55 -:102B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 -:102BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35 -:102BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25 -:102BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15 -:102BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05 -:102BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5 -:102BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5 -:102C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4 -:102C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4 -:102C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4 -:102C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4 -:102C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94 -:102C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84 -:102C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74 -:102C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64 -:102C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54 -:102C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44 -:102CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34 -:102CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24 -:102CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14 -:102CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04 -:102CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4 -:102CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4 -:102D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3 -:102D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 -:102D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3 -:102D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3 -:102D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93 -:102D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83 -:102D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73 -:102D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63 -:102D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53 -:102D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43 -:102DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33 -:102DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23 -:102DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13 -:102DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 -:102DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 -:102DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3 -:102E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2 -:102E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2 -:102E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2 -:102E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2 -:102E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 -:102E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82 -:102E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 -:102E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62 -:102E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52 -:102E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42 -:102EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32 -:102EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22 -:102EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12 -:102ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02 -:102EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2 -:102EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2 -:102F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1 -:102F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1 -:102F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1 -:102F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1 -:102F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91 -:102F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81 -:102F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71 -:102F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61 -:102F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51 -:102F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41 -:102FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31 -:102FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21 -:102FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11 -:102FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01 -:102FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1 -:102FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1 -:00000001FF diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/prog.vhd b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/prog.vhd new file mode 100644 index 00000000..8f7b15f4 --- /dev/null +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/prog.vhd @@ -0,0 +1,790 @@ +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(13 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of prog is + type rom is array(0 to 12287) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"AF",X"32",X"01",X"70",X"C3",X"22",X"13",X"00",X"3A",X"2F",X"43",X"11",X"30",X"43",X"18",X"3B", + X"4F",X"EB",X"21",X"60",X"40",X"C3",X"EF",X"01",X"E1",X"5E",X"23",X"56",X"23",X"C3",X"5D",X"00", + X"85",X"6F",X"30",X"01",X"24",X"7E",X"C9",X"00",X"87",X"E3",X"E7",X"5F",X"23",X"56",X"EB",X"E9", + X"E1",X"5E",X"23",X"56",X"23",X"4E",X"23",X"3E",X"C7",X"46",X"23",X"C6",X"59",X"91",X"C5",X"06", + X"00",X"ED",X"B0",X"4F",X"EB",X"09",X"EB",X"C1",X"10",X"F4",X"E9",X"EB",X"85",X"6F",X"D6",X"2C", + X"E6",X"7F",X"32",X"2F",X"43",X"71",X"2C",X"70",X"2C",X"73",X"2C",X"72",X"C9",X"ED",X"53",X"00", + X"43",X"E9",X"2A",X"00",X"43",X"E9",X"08",X"D9",X"DD",X"E5",X"FD",X"E5",X"3A",X"00",X"78",X"AF", + X"32",X"01",X"70",X"32",X"3E",X"58",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"21",X"C8", + X"42",X"11",X"06",X"58",X"06",X"04",X"AF",X"96",X"12",X"1C",X"1C",X"12",X"1C",X"1C",X"2C",X"10", + X"F5",X"3A",X"D7",X"42",X"ED",X"44",X"11",X"36",X"58",X"06",X"03",X"12",X"1C",X"1C",X"10",X"FB", + X"3A",X"08",X"43",X"4F",X"3A",X"03",X"43",X"A1",X"4F",X"21",X"70",X"42",X"11",X"40",X"58",X"06", + X"08",X"2C",X"78",X"FE",X"06",X"3E",X"F0",X"38",X"07",X"3C",X"CB",X"41",X"20",X"02",X"3E",X"EF", + X"96",X"12",X"1C",X"1C",X"1C",X"2D",X"7E",X"12",X"2C",X"2C",X"1C",X"10",X"E4",X"DD",X"21",X"B0", + X"42",X"06",X"08",X"1C",X"78",X"FE",X"06",X"3E",X"00",X"30",X"01",X"3D",X"DD",X"96",X"01",X"12", + X"1C",X"1C",X"3E",X"FB",X"DD",X"96",X"00",X"CB",X"41",X"20",X"03",X"2F",X"D6",X"05",X"12",X"1C", + X"DD",X"23",X"DD",X"23",X"10",X"DD",X"21",X"E0",X"42",X"11",X"01",X"58",X"06",X"20",X"7E",X"12", + X"2C",X"1C",X"1C",X"10",X"F9",X"21",X"10",X"42",X"06",X"08",X"7E",X"12",X"2C",X"1C",X"7E",X"12", + X"2C",X"1C",X"1C",X"1C",X"10",X"F4",X"01",X"28",X"01",X"CF",X"21",X"01",X"70",X"36",X"00",X"36", + X"01",X"FD",X"E1",X"DD",X"E1",X"D9",X"08",X"C9",X"2A",X"84",X"42",X"23",X"7D",X"B4",X"28",X"03", + X"22",X"84",X"42",X"CD",X"62",X"00",X"CD",X"86",X"01",X"CD",X"21",X"07",X"CD",X"72",X"04",X"CD", + X"59",X"05",X"CD",X"44",X"08",X"CD",X"D2",X"08",X"CD",X"46",X"11",X"CD",X"0B",X"02",X"CD",X"30", + X"02",X"CD",X"6F",X"20",X"CD",X"E2",X"1E",X"CD",X"92",X"1B",X"CD",X"AA",X"1D",X"26",X"40",X"AF", + X"C6",X"60",X"6F",X"7E",X"D6",X"01",X"38",X"16",X"77",X"20",X"13",X"E5",X"7D",X"D6",X"60",X"87", + X"87",X"C6",X"80",X"6F",X"4E",X"2C",X"46",X"2C",X"5E",X"2C",X"56",X"EB",X"CF",X"E1",X"7D",X"D6", + X"5F",X"E6",X"1F",X"20",X"DB",X"C9",X"21",X"18",X"43",X"34",X"7E",X"E6",X"0F",X"C0",X"7E",X"0F", + X"0F",X"0F",X"0F",X"47",X"3A",X"19",X"43",X"2F",X"B0",X"4F",X"3A",X"15",X"43",X"D6",X"01",X"30", + X"02",X"AF",X"4F",X"28",X"01",X"79",X"32",X"01",X"60",X"79",X"32",X"00",X"60",X"21",X"20",X"53", + X"11",X"80",X"50",X"3A",X"03",X"43",X"A7",X"28",X"01",X"EB",X"3C",X"4F",X"3A",X"1A",X"43",X"A0", + X"CC",X"D1",X"01",X"C4",X"E0",X"01",X"EB",X"3A",X"02",X"43",X"A7",X"28",X"13",X"79",X"EE",X"03", + X"4F",X"E5",X"FD",X"E1",X"FD",X"36",X"00",X"19",X"FD",X"36",X"20",X"1E",X"FD",X"71",X"40",X"C9", + X"E5",X"FD",X"E1",X"3E",X"24",X"FD",X"77",X"00",X"FD",X"77",X"20",X"FD",X"77",X"40",X"C9",X"06", + X"20",X"7E",X"A7",X"28",X"04",X"2C",X"10",X"F9",X"C9",X"71",X"7D",X"D6",X"60",X"87",X"87",X"C6", + X"80",X"6F",X"C1",X"71",X"2C",X"70",X"2C",X"73",X"2C",X"72",X"C9",X"21",X"1D",X"43",X"11",X"1C", + X"43",X"01",X"00",X"03",X"1A",X"87",X"38",X"11",X"F0",X"3F",X"7E",X"CE",X"00",X"27",X"FE",X"60", + X"38",X"02",X"3E",X"00",X"77",X"2C",X"10",X"F1",X"C9",X"71",X"2C",X"10",X"FC",X"0F",X"12",X"C9", + X"3A",X"15",X"43",X"FE",X"99",X"D0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3A",X"00",X"60",X"2F",X"0F",X"21",X"11",X"43",X"7E",X"17",X"77",X"E6",X"0F",X"D6",X"0C",X"CC", + X"A0",X"25",X"3A",X"00",X"60",X"2F",X"0F",X"0F",X"21",X"12",X"43",X"7E",X"17",X"77",X"E6",X"0F", + X"D6",X"0C",X"C0",X"01",X"93",X"02",X"CF",X"21",X"13",X"43",X"34",X"34",X"7E",X"FE",X"02",X"C0", + X"01",X"85",X"02",X"CF",X"C9",X"3E",X"08",X"D7",X"C3",X"CF",X"25",X"00",X"32",X"04",X"60",X"35", + X"20",X"F3",X"C9",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3A",X"0C",X"43", + X"21",X"15",X"43",X"86",X"27",X"30",X"02",X"3E",X"99",X"77",X"21",X"6B",X"22",X"D4",X"22",X"20", + X"3A",X"16",X"43",X"A7",X"C8",X"11",X"15",X"43",X"21",X"BF",X"52",X"01",X"01",X"01",X"C3",X"5C", + X"03",X"21",X"05",X"43",X"06",X"03",X"1A",X"BE",X"D8",X"20",X"05",X"1C",X"2C",X"10",X"F7",X"C9", + X"1A",X"77",X"1C",X"2C",X"10",X"FA",X"C9",X"47",X"E6",X"F0",X"4F",X"78",X"1F",X"47",X"38",X"06", + X"1F",X"1F",X"1F",X"E6",X"0F",X"4F",X"3E",X"03",X"90",X"E6",X"07",X"47",X"E7",X"2D",X"7E",X"89", + X"27",X"77",X"0E",X"00",X"10",X"F7",X"D0",X"36",X"99",X"2C",X"36",X"99",X"2C",X"36",X"90",X"C9", + X"4F",X"C5",X"79",X"CD",X"0A",X"03",X"C1",X"10",X"F8",X"C9",X"47",X"3A",X"17",X"43",X"A7",X"C0", + X"78",X"21",X"0D",X"40",X"CD",X"D7",X"02",X"CD",X"4B",X"04",X"CD",X"31",X"03",X"11",X"0D",X"40", + X"CD",X"C1",X"02",X"11",X"2D",X"40",X"CD",X"C1",X"02",X"11",X"05",X"43",X"21",X"41",X"52",X"18", + X"28",X"11",X"0D",X"40",X"3A",X"03",X"43",X"A7",X"20",X"1C",X"21",X"A1",X"53",X"18",X"1A",X"11", + X"0D",X"40",X"21",X"2D",X"40",X"3A",X"03",X"43",X"A7",X"28",X"01",X"EB",X"E5",X"CD",X"3A",X"03", + X"D1",X"3A",X"02",X"43",X"A7",X"C8",X"21",X"01",X"51",X"01",X"04",X"03",X"3E",X"E0",X"C5",X"47", + X"1A",X"0F",X"0F",X"0F",X"0F",X"E6",X"0F",X"20",X"07",X"0D",X"FA",X"70",X"03",X"3E",X"24",X"FA", + X"0E",X"00",X"77",X"1A",X"E6",X"0F",X"20",X"07",X"0D",X"FA",X"7F",X"03",X"3E",X"24",X"FA",X"0E", + X"00",X"D5",X"58",X"16",X"FF",X"19",X"77",X"19",X"D1",X"1C",X"78",X"E3",X"44",X"E1",X"10",X"CE", + X"C9",X"C6",X"40",X"6F",X"26",X"27",X"66",X"CD",X"9D",X"03",X"67",X"29",X"C9",X"AF",X"6F",X"57", + X"CB",X"7C",X"28",X"01",X"93",X"CB",X"7B",X"28",X"01",X"94",X"06",X"08",X"29",X"30",X"01",X"19", + X"10",X"FA",X"84",X"C9",X"2E",X"00",X"06",X"11",X"AF",X"17",X"BB",X"38",X"01",X"93",X"3F",X"ED", + X"6A",X"10",X"F6",X"C9",X"01",X"00",X"08",X"11",X"00",X"40",X"7C",X"92",X"79",X"9B",X"38",X"05", + X"4F",X"7C",X"92",X"67",X"A7",X"3F",X"CB",X"13",X"29",X"CB",X"11",X"29",X"CB",X"11",X"10",X"EA", + X"C9",X"FD",X"21",X"20",X"43",X"7B",X"95",X"30",X"02",X"2F",X"3C",X"FD",X"CB",X"01",X"16",X"4F", + X"7A",X"94",X"30",X"02",X"2F",X"3C",X"FD",X"CB",X"03",X"16",X"5F",X"B1",X"F2",X"03",X"04",X"CB", + X"39",X"CB",X"3B",X"FD",X"71",X"00",X"FD",X"73",X"02",X"63",X"CD",X"9D",X"03",X"E5",X"59",X"63", + X"CD",X"9D",X"03",X"D1",X"19",X"CD",X"C4",X"03",X"FD",X"66",X"00",X"CD",X"B4",X"03",X"7C",X"A7", + X"7D",X"28",X"02",X"3E",X"FF",X"A7",X"28",X"09",X"FD",X"CB",X"01",X"1E",X"30",X"02",X"2F",X"3C", + X"1F",X"4F",X"FD",X"66",X"02",X"CD",X"B4",X"03",X"7C",X"A7",X"7D",X"28",X"02",X"3E",X"FF",X"A7", + X"C8",X"FD",X"CB",X"03",X"1E",X"30",X"02",X"2F",X"3C",X"1F",X"C9",X"3A",X"10",X"40",X"A7",X"C0", + X"2A",X"0D",X"40",X"7D",X"6C",X"67",X"29",X"29",X"29",X"29",X"7C",X"21",X"0A",X"43",X"BE",X"D8", + X"3E",X"01",X"32",X"10",X"40",X"21",X"75",X"22",X"CD",X"1D",X"20",X"21",X"0A",X"40",X"34",X"C3", + X"77",X"18",X"3A",X"D0",X"42",X"3D",X"C0",X"CD",X"B7",X"04",X"29",X"29",X"29",X"29",X"ED",X"5B", + X"D2",X"42",X"19",X"22",X"D2",X"42",X"7A",X"47",X"E6",X"F8",X"6F",X"26",X"00",X"29",X"29",X"11", + X"18",X"50",X"19",X"78",X"E6",X"07",X"C6",X"70",X"11",X"20",X"00",X"77",X"2C",X"C6",X"08",X"77", + X"19",X"C6",X"10",X"77",X"2D",X"D6",X"08",X"77",X"78",X"FE",X"D0",X"D0",X"E6",X"07",X"C6",X"90", + X"19",X"77",X"2C",X"C6",X"08",X"77",X"C9",X"3A",X"17",X"43",X"A7",X"20",X"34",X"3A",X"D1",X"42", + X"47",X"21",X"00",X"00",X"3A",X"08",X"43",X"4F",X"3A",X"03",X"43",X"A1",X"3A",X"00",X"60",X"28", + X"03",X"3A",X"00",X"68",X"87",X"87",X"87",X"87",X"87",X"38",X"09",X"F0",X"3A",X"D3",X"42",X"FE", + X"D0",X"D0",X"68",X"C9",X"F8",X"3A",X"D3",X"42",X"FE",X"21",X"D8",X"AF",X"90",X"C8",X"6F",X"25", + X"C9",X"3A",X"18",X"43",X"E6",X"1F",X"FE",X"10",X"20",X"23",X"01",X"00",X"08",X"DD",X"21",X"20", + X"42",X"CD",X"2D",X"05",X"DD",X"23",X"DD",X"23",X"10",X"F7",X"06",X"07",X"DD",X"21",X"90",X"42", + X"CD",X"3A",X"05",X"DD",X"23",X"DD",X"23",X"10",X"F7",X"79",X"32",X"86",X"42",X"3A",X"D1",X"42", + X"47",X"21",X"00",X"00",X"3A",X"86",X"42",X"87",X"38",X"BB",X"C8",X"18",X"AF",X"DD",X"7E",X"00", + X"A7",X"C8",X"DD",X"6E",X"50",X"DD",X"66",X"51",X"18",X"0D",X"DD",X"7E",X"00",X"DD",X"B6",X"01", + X"C8",X"DD",X"6E",X"20",X"DD",X"66",X"21",X"0D",X"3A",X"D3",X"42",X"BC",X"3E",X"A0",X"38",X"04", + X"BD",X"D0",X"18",X"02",X"BD",X"D8",X"0C",X"0C",X"C9",X"3A",X"80",X"42",X"A7",X"C8",X"3A",X"9E", + X"42",X"A7",X"20",X"47",X"3A",X"D0",X"42",X"3D",X"28",X"06",X"6F",X"67",X"22",X"BE",X"42",X"C9", + X"CD",X"78",X"06",X"3A",X"17",X"43",X"A7",X"28",X"08",X"3A",X"18",X"43",X"E6",X"1F",X"C0",X"18", + X"25",X"3A",X"08",X"43",X"47",X"3A",X"03",X"43",X"A0",X"3A",X"00",X"60",X"28",X"03",X"3A",X"00", + X"68",X"2F",X"07",X"07",X"07",X"07",X"21",X"83",X"42",X"7E",X"17",X"77",X"E6",X"0F",X"D6",X"0C", + X"C0",X"3E",X"08",X"CD",X"E7",X"05",X"3E",X"B0",X"32",X"9E",X"42",X"3A",X"9E",X"42",X"26",X"00", + X"87",X"30",X"01",X"25",X"6F",X"29",X"29",X"29",X"3A",X"AE",X"42",X"85",X"32",X"AE",X"42",X"3A", + X"BE",X"42",X"8C",X"32",X"BE",X"42",X"2A",X"BE",X"42",X"3A",X"18",X"43",X"E6",X"01",X"87",X"3D", + X"84",X"67",X"7D",X"FE",X"10",X"DA",X"74",X"06",X"22",X"BE",X"42",X"D6",X"18",X"FE",X"40",X"38", + X"18",X"3E",X"01",X"32",X"C0",X"42",X"C9",X"47",X"3A",X"17",X"43",X"A7",X"C0",X"3E",X"01",X"32", + X"05",X"68",X"78",X"D7",X"AF",X"32",X"05",X"68",X"C9",X"6F",X"E6",X"F0",X"0F",X"0F",X"0F",X"0F", + X"EB",X"21",X"C8",X"42",X"E7",X"EB",X"ED",X"44",X"84",X"67",X"22",X"24",X"43",X"AF",X"32",X"C0", + X"42",X"7D",X"E6",X"0F",X"FE",X"0C",X"D0",X"7C",X"E6",X"0F",X"D6",X"02",X"FE",X"0C",X"D0",X"3E", + X"01",X"32",X"C0",X"42",X"7D",X"E6",X"F0",X"0F",X"0F",X"0F",X"CB",X"04",X"CE",X"00",X"6F",X"7C", + X"E6",X"E0",X"07",X"07",X"07",X"3C",X"47",X"26",X"40",X"3E",X"80",X"07",X"10",X"FD",X"A6",X"C8", + X"AE",X"77",X"7D",X"D6",X"00",X"21",X"E3",X"42",X"E7",X"21",X"86",X"06",X"E7",X"CD",X"0A",X"03", + X"2A",X"24",X"43",X"7D",X"0F",X"0F",X"0F",X"E6",X"1E",X"5F",X"7C",X"07",X"07",X"57",X"E6",X"C0", + X"B3",X"5F",X"7A",X"E6",X"03",X"57",X"21",X"03",X"50",X"19",X"01",X"E0",X"06",X"CF",X"21",X"4B", + X"22",X"CD",X"1D",X"20",X"AF",X"32",X"9E",X"42",X"3A",X"18",X"43",X"0F",X"3A",X"D3",X"42",X"CE", + X"07",X"67",X"2E",X"BC",X"22",X"BE",X"42",X"C9",X"51",X"41",X"31",X"21",X"E5",X"DD",X"E1",X"E5", + X"DD",X"36",X"F0",X"30",X"E1",X"3E",X"08",X"D7",X"E5",X"DD",X"E1",X"DD",X"36",X"F0",X"31",X"3E", + X"08",X"D7",X"E5",X"DD",X"E1",X"DD",X"36",X"F0",X"28",X"3E",X"08",X"D7",X"E5",X"DD",X"E1",X"3A", + X"2E",X"42",X"FE",X"03",X"20",X"1E",X"01",X"07",X"07",X"21",X"20",X"42",X"7E",X"B9",X"28",X"14", + X"2C",X"2C",X"10",X"F8",X"DD",X"36",X"00",X"07",X"DD",X"36",X"F0",X"3C",X"3A",X"FB",X"42",X"DD", + X"77",X"F1",X"18",X"48",X"AF",X"DD",X"77",X"00",X"DD",X"77",X"50",X"DD",X"77",X"51",X"18",X"3C", + X"E5",X"FD",X"E1",X"E5",X"3E",X"C0",X"CD",X"D7",X"19",X"E1",X"3E",X"08",X"D7",X"E5",X"FD",X"E1", + X"3E",X"C4",X"CD",X"D7",X"19",X"3E",X"08",X"D7",X"E5",X"FD",X"E1",X"3E",X"A0",X"CD",X"D7",X"19", + X"3E",X"08",X"D7",X"E5",X"FD",X"E1",X"CD",X"C8",X"19",X"06",X"08",X"AF",X"21",X"00",X"40",X"B6", + X"2C",X"10",X"FC",X"A7",X"20",X"06",X"32",X"C3",X"42",X"CD",X"74",X"08",X"21",X"08",X"40",X"35", + X"C9",X"3A",X"2E",X"42",X"A7",X"C8",X"3A",X"D7",X"42",X"CD",X"FF",X"07",X"3A",X"2E",X"42",X"3D", + X"C0",X"3A",X"D5",X"42",X"6F",X"26",X"00",X"ED",X"5B",X"D6",X"42",X"3A",X"D4",X"42",X"BA",X"28", + X"30",X"30",X"06",X"AF",X"95",X"28",X"02",X"6F",X"25",X"29",X"29",X"29",X"29",X"19",X"22",X"D6", + X"42",X"7C",X"E6",X"03",X"C0",X"CB",X"54",X"20",X"0C",X"F7",X"1B",X"50",X"03",X"02",X"44",X"45", + X"46",X"47",X"48",X"49",X"C9",X"F7",X"1B",X"50",X"03",X"02",X"4A",X"4B",X"4C",X"4D",X"4E",X"4F", + X"C9",X"21",X"D4",X"42",X"3A",X"D3",X"42",X"86",X"0F",X"47",X"3A",X"18",X"43",X"80",X"FE",X"20", + X"30",X"02",X"C6",X"20",X"FE",X"D1",X"38",X"02",X"D6",X"2F",X"77",X"C9",X"21",X"32",X"1B",X"11", + X"E0",X"42",X"01",X"20",X"00",X"ED",X"B0",X"F7",X"51",X"50",X"0A",X"02",X"30",X"31",X"32",X"33", + X"34",X"35",X"36",X"5F",X"5F",X"5F",X"24",X"37",X"38",X"39",X"3A",X"3B",X"3C",X"5B",X"6B",X"5B", + X"F7",X"91",X"53",X"0A",X"02",X"30",X"31",X"32",X"33",X"34",X"3D",X"3E",X"53",X"3F",X"53",X"24", + X"37",X"38",X"39",X"3A",X"40",X"41",X"5F",X"5F",X"5F",X"21",X"99",X"50",X"11",X"20",X"00",X"01", + X"98",X"18",X"71",X"19",X"10",X"FC",X"3E",X"20",X"21",X"1B",X"50",X"11",X"1E",X"00",X"06",X"20", + X"36",X"24",X"2C",X"36",X"24",X"2C",X"36",X"67",X"19",X"10",X"F5",X"32",X"D7",X"42",X"32",X"D4", + X"42",X"ED",X"44",X"11",X"36",X"58",X"06",X"03",X"12",X"1C",X"1C",X"10",X"FB",X"ED",X"44",X"2F", + X"C6",X"E4",X"CD",X"08",X"08",X"79",X"C6",X"2C",X"4F",X"E6",X"F8",X"6F",X"26",X"00",X"29",X"29", + X"11",X"1B",X"50",X"19",X"79",X"E6",X"07",X"C6",X"50",X"11",X"20",X"00",X"77",X"2C",X"77",X"2C", + X"C6",X"10",X"77",X"19",X"C6",X"0C",X"FE",X"70",X"38",X"02",X"3E",X"6F",X"77",X"2D",X"D6",X"10", + X"77",X"2D",X"77",X"FE",X"5F",X"C0",X"19",X"79",X"E6",X"07",X"C6",X"54",X"77",X"2C",X"77",X"2C", + X"C6",X"10",X"77",X"C9",X"3A",X"C0",X"42",X"A7",X"C8",X"2A",X"C2",X"42",X"29",X"6C",X"26",X"00", + X"30",X"01",X"25",X"29",X"29",X"29",X"29",X"4C",X"7D",X"A7",X"21",X"C1",X"42",X"7E",X"CC",X"7E", + X"08",X"26",X"00",X"87",X"30",X"01",X"25",X"6F",X"29",X"29",X"ED",X"5B",X"C2",X"42",X"19",X"22", + X"C2",X"42",X"29",X"7C",X"21",X"C8",X"42",X"06",X"04",X"77",X"2C",X"10",X"FC",X"C9",X"A7",X"C8", + X"DD",X"21",X"00",X"40",X"DD",X"7E",X"00",X"DD",X"B6",X"02",X"DD",X"B6",X"04",X"DD",X"B6",X"06", + X"5F",X"DD",X"7E",X"01",X"DD",X"B6",X"03",X"DD",X"B6",X"05",X"DD",X"B6",X"07",X"57",X"B3",X"20", + X"03",X"33",X"33",X"C9",X"CB",X"7E",X"28",X"15",X"06",X"02",X"7B",X"A7",X"20",X"03",X"06",X"FA", + X"7A",X"05",X"0F",X"30",X"FC",X"78",X"B9",X"7E",X"F8",X"ED",X"44",X"77",X"C9",X"06",X"FE",X"7A", + X"A7",X"20",X"03",X"06",X"06",X"7B",X"04",X"07",X"30",X"FC",X"79",X"B8",X"7E",X"F8",X"ED",X"44", + X"77",X"C9",X"3A",X"02",X"42",X"A7",X"C8",X"CD",X"38",X"0D",X"DD",X"21",X"20",X"42",X"06",X"07", + X"C5",X"DD",X"7E",X"00",X"21",X"02",X"09",X"EF",X"26",X"00",X"34",X"09",X"47",X"0A",X"CE",X"0A", + X"26",X"00",X"A8",X"0D",X"EE",X"0E",X"C8",X"0E",X"26",X"00",X"26",X"00",X"50",X"0A",X"EE",X"0E", + X"EE",X"0E",X"DD",X"7E",X"00",X"21",X"23",X"09",X"EF",X"26",X"00",X"2B",X"09",X"2B",X"09",X"2E", + X"09",X"26",X"00",X"2B",X"09",X"B2",X"0F",X"26",X"00",X"26",X"00",X"26",X"00",X"2E",X"09",X"03", + X"10",X"4B",X"10",X"DD",X"23",X"DD",X"23",X"C1",X"10",X"B6",X"C9",X"CD",X"D5",X"11",X"CD",X"4D", + X"0C",X"C3",X"C4",X"0C",X"DD",X"7E",X"50",X"FE",X"DE",X"38",X"1E",X"DD",X"36",X"00",X"02",X"21", + X"2D",X"0A",X"3A",X"08",X"40",X"3D",X"BE",X"23",X"38",X"04",X"23",X"23",X"18",X"F8",X"5E",X"23", + X"56",X"EB",X"CD",X"33",X"1D",X"DD",X"77",X"01",X"C9",X"FE",X"C0",X"38",X"3B",X"3A",X"08",X"40", + X"3D",X"3A",X"04",X"42",X"20",X"03",X"3A",X"05",X"42",X"47",X"DD",X"7E",X"30",X"CD",X"7F",X"09", + X"DD",X"77",X"30",X"DD",X"7E",X"31",X"CD",X"87",X"09",X"DD",X"77",X"31",X"C3",X"D4",X"0B",X"A7", + X"FA",X"85",X"09",X"B8",X"D0",X"78",X"C9",X"A7",X"FA",X"8F",X"09",X"B8",X"D8",X"78",X"C9",X"ED", + X"44",X"B8",X"38",X"01",X"78",X"ED",X"44",X"C9",X"11",X"80",X"01",X"DD",X"6E",X"20",X"DD",X"66", + X"21",X"19",X"DD",X"75",X"20",X"DD",X"74",X"21",X"CD",X"AF",X"09",X"CD",X"D4",X"09",X"C9",X"DD", + X"7E",X"21",X"87",X"1E",X"20",X"CD",X"91",X"03",X"7C",X"DD",X"86",X"30",X"87",X"6F",X"26",X"00", + X"30",X"01",X"25",X"DD",X"56",X"50",X"DD",X"5E",X"40",X"29",X"29",X"29",X"19",X"DD",X"75",X"40", + X"DD",X"74",X"50",X"C9",X"DD",X"7E",X"21",X"1E",X"10",X"CD",X"91",X"03",X"7C",X"DD",X"86",X"31", + X"87",X"6F",X"26",X"00",X"30",X"01",X"25",X"DD",X"56",X"51",X"DD",X"5E",X"41",X"29",X"29",X"29", + X"19",X"DD",X"75",X"41",X"DD",X"74",X"51",X"DD",X"7E",X"31",X"87",X"38",X"1A",X"C8",X"DD",X"7E", + X"51",X"C6",X"08",X"FE",X"F8",X"D8",X"DD",X"7E",X"31",X"ED",X"44",X"DD",X"77",X"31",X"DD",X"36", + X"51",X"EF",X"DD",X"36",X"21",X"80",X"C9",X"DD",X"7E",X"51",X"FE",X"F8",X"D8",X"DD",X"7E",X"31", + X"ED",X"44",X"DD",X"77",X"31",X"AF",X"DD",X"77",X"51",X"DD",X"77",X"21",X"C9",X"06",X"39",X"0A", + X"12",X"3B",X"0A",X"1E",X"41",X"0A",X"FF",X"45",X"0A",X"FF",X"B4",X"01",X"78",X"05",X"96",X"FF", + X"B4",X"03",X"78",X"FF",X"96",X"FF",X"78",X"DD",X"35",X"01",X"C0",X"DD",X"36",X"00",X"03",X"C9", + X"CD",X"D4",X"0B",X"DD",X"7E",X"50",X"FE",X"08",X"30",X"54",X"AF",X"DD",X"36",X"00",X"03",X"DD", + X"77",X"50",X"DD",X"77",X"51",X"6F",X"67",X"32",X"2E",X"42",X"22",X"7E",X"42",X"32",X"81",X"42", + X"32",X"03",X"42",X"32",X"02",X"42",X"32",X"80",X"42",X"32",X"C0",X"42",X"32",X"C5",X"42",X"3E", + X"02",X"32",X"D0",X"42",X"21",X"65",X"23",X"CD",X"4D",X"20",X"21",X"93",X"22",X"CD",X"4D",X"20", + X"21",X"85",X"22",X"CD",X"1D",X"20",X"3E",X"03",X"CD",X"06",X"20",X"F7",X"8D",X"51",X"01",X"09", + X"43",X"24",X"0E",X"22",X"0B",X"24",X"0E",X"22",X"0B",X"01",X"72",X"0B",X"CF",X"C9",X"C6",X"10", + X"2E",X"DE",X"BD",X"30",X"01",X"6F",X"DD",X"66",X"51",X"22",X"7E",X"42",X"E6",X"07",X"C0",X"CB", + X"5D",X"2E",X"34",X"28",X"01",X"2C",X"3A",X"FB",X"42",X"67",X"22",X"1E",X"42",X"C9",X"CD",X"D4", + X"0B",X"DD",X"7E",X"50",X"FE",X"D0",X"38",X"0D",X"3A",X"0A",X"42",X"ED",X"44",X"DD",X"77",X"30", + X"DD",X"36",X"31",X"00",X"C9",X"2A",X"C2",X"42",X"29",X"6C",X"26",X"00",X"30",X"01",X"25",X"DD", + X"7E",X"10",X"0F",X"4F",X"E6",X"F0",X"85",X"57",X"7C",X"CE",X"00",X"C0",X"79",X"87",X"87",X"87", + X"87",X"C6",X"18",X"5F",X"DD",X"6E",X"50",X"DD",X"66",X"51",X"7C",X"92",X"20",X"02",X"7D",X"93", + X"20",X"24",X"3A",X"08",X"40",X"FE",X"07",X"30",X"0D",X"DD",X"36",X"00",X"01",X"DD",X"6E",X"50", + X"DD",X"66",X"51",X"C3",X"C8",X"1C",X"AF",X"DD",X"77",X"00",X"DD",X"77",X"50",X"DD",X"77",X"51", + X"CD",X"B6",X"0B",X"C3",X"0D",X"1F",X"CD",X"E1",X"03",X"67",X"CD",X"4C",X"0B",X"5F",X"CD",X"97", + X"03",X"DD",X"74",X"31",X"61",X"CD",X"97",X"03",X"DD",X"74",X"30",X"C9",X"7B",X"FE",X"20",X"30", + X"0C",X"3A",X"C1",X"42",X"A7",X"F2",X"5A",X"0B",X"ED",X"44",X"C6",X"10",X"C9",X"DD",X"7E",X"00", + X"FE",X"0A",X"3A",X"0A",X"42",X"C0",X"3A",X"08",X"40",X"3D",X"3A",X"07",X"42",X"C0",X"3A",X"08", + X"42",X"C9",X"3E",X"B4",X"D7",X"AF",X"CD",X"06",X"20",X"06",X"07",X"DD",X"21",X"20",X"42",X"C5", + X"CD",X"AB",X"0B",X"AF",X"DD",X"77",X"00",X"DD",X"77",X"50",X"DD",X"77",X"51",X"DD",X"23",X"DD", + X"23",X"C1",X"10",X"EB",X"DD",X"77",X"00",X"DD",X"77",X"50",X"DD",X"77",X"51",X"01",X"00",X"30", + X"21",X"90",X"42",X"71",X"2C",X"10",X"FC",X"DF",X"39",X"1A",X"C9",X"DD",X"7E",X"00",X"A7",X"C8", + X"FE",X"04",X"C8",X"FE",X"07",X"C8",X"21",X"00",X"40",X"DD",X"7E",X"10",X"E6",X"1F",X"85",X"6F", + X"DD",X"7E",X"10",X"E6",X"E0",X"07",X"07",X"07",X"3C",X"4F",X"47",X"3E",X"80",X"07",X"10",X"FD", + X"AE",X"77",X"41",X"C9",X"CD",X"DB",X"0B",X"CD",X"06",X"0C",X"C9",X"DD",X"7E",X"30",X"DD",X"5E", + X"40",X"DD",X"56",X"50",X"26",X"00",X"87",X"6F",X"30",X"01",X"25",X"29",X"29",X"29",X"19",X"DD", + X"75",X"40",X"DD",X"74",X"50",X"7C",X"FE",X"F0",X"D8",X"DD",X"36",X"50",X"00",X"DD",X"7E",X"30", + X"ED",X"44",X"DD",X"77",X"30",X"C9",X"DD",X"7E",X"31",X"DD",X"5E",X"41",X"DD",X"56",X"51",X"26", + X"00",X"87",X"6F",X"30",X"01",X"25",X"29",X"29",X"29",X"19",X"DD",X"75",X"41",X"DD",X"74",X"51", + X"DD",X"7E",X"31",X"87",X"38",X"14",X"C8",X"7C",X"C6",X"08",X"FE",X"F8",X"D8",X"DD",X"7E",X"31", + X"ED",X"44",X"DD",X"77",X"31",X"DD",X"36",X"51",X"EF",X"C9",X"DD",X"7E",X"51",X"FE",X"F8",X"D8", + X"DD",X"7E",X"31",X"ED",X"44",X"DD",X"77",X"31",X"DD",X"36",X"51",X"00",X"C9",X"3A",X"9E",X"42", + X"A7",X"C8",X"3A",X"BE",X"42",X"DD",X"96",X"50",X"FE",X"0C",X"D0",X"3A",X"BF",X"42",X"DD",X"96", + X"51",X"D6",X"02",X"FE",X"0C",X"D0",X"3E",X"01",X"32",X"C0",X"42",X"CD",X"74",X"06",X"DD",X"7E", + X"00",X"FE",X"04",X"C8",X"FE",X"0A",X"06",X"02",X"20",X"01",X"04",X"DD",X"7E",X"F1",X"21",X"86", + X"06",X"E7",X"CD",X"00",X"03",X"CD",X"9A",X"0C",X"DD",X"36",X"00",X"04",X"DD",X"E5",X"E1",X"01", + X"8C",X"06",X"CF",X"21",X"4B",X"22",X"CD",X"1D",X"20",X"C9",X"DD",X"7E",X"00",X"FE",X"0A",X"C0", + X"3E",X"03",X"32",X"2E",X"42",X"21",X"93",X"22",X"CD",X"4D",X"20",X"21",X"1D",X"21",X"CD",X"1D", + X"20",X"3E",X"02",X"CD",X"06",X"20",X"21",X"AD",X"51",X"11",X"20",X"00",X"01",X"24",X"06",X"71", + X"19",X"10",X"FC",X"C9",X"3A",X"2E",X"42",X"3D",X"C0",X"3E",X"D0",X"DD",X"96",X"50",X"FE",X"E1", + X"D8",X"3A",X"D7",X"42",X"DD",X"96",X"51",X"C6",X"0C",X"FE",X"19",X"D0",X"DD",X"36",X"00",X"0A", + X"21",X"93",X"22",X"CD",X"1D",X"20",X"3E",X"01",X"CD",X"06",X"20",X"06",X"07",X"21",X"20",X"42", + X"7E",X"3D",X"20",X"02",X"36",X"03",X"2C",X"2C",X"10",X"F6",X"3E",X"02",X"32",X"2E",X"42",X"AF", + X"32",X"03",X"42",X"32",X"81",X"42",X"DD",X"6E",X"50",X"DD",X"66",X"51",X"22",X"7E",X"42",X"7C", + X"ED",X"44",X"57",X"1E",X"00",X"CD",X"36",X"0B",X"2E",X"34",X"3A",X"FB",X"42",X"67",X"22",X"1E", + X"42",X"F7",X"1B",X"50",X"03",X"02",X"24",X"24",X"67",X"24",X"24",X"67",X"F7",X"AD",X"51",X"01", + X"06",X"43",X"24",X"19",X"15",X"0E",X"11",X"C9",X"DD",X"21",X"2E",X"42",X"DD",X"7E",X"00",X"FE", + X"03",X"C0",X"3A",X"09",X"42",X"87",X"26",X"00",X"30",X"01",X"25",X"6F",X"29",X"29",X"29",X"DD", + X"5E",X"40",X"DD",X"56",X"50",X"19",X"DD",X"75",X"40",X"DD",X"74",X"50",X"7C",X"FE",X"DD",X"38", + X"35",X"DD",X"7E",X"51",X"DD",X"36",X"00",X"01",X"DD",X"36",X"50",X"00",X"DD",X"36",X"51",X"00", + X"01",X"20",X"D0",X"B9",X"30",X"01",X"79",X"B8",X"38",X"01",X"78",X"CD",X"D8",X"07",X"21",X"1D", + X"21",X"CD",X"4D",X"20",X"AF",X"CD",X"06",X"20",X"3A",X"08",X"40",X"A7",X"C8",X"3E",X"01",X"32", + X"03",X"42",X"32",X"81",X"42",X"C9",X"E6",X"07",X"C0",X"CB",X"5C",X"2E",X"36",X"28",X"01",X"2C", + X"3A",X"FB",X"42",X"67",X"22",X"1E",X"42",X"C9",X"CD",X"D4",X"0B",X"21",X"20",X"42",X"01",X"00", + X"07",X"7E",X"FE",X"05",X"20",X"01",X"0C",X"2C",X"2C",X"10",X"F6",X"79",X"FE",X"03",X"28",X"15", + X"06",X"07",X"21",X"20",X"42",X"7E",X"FE",X"05",X"20",X"02",X"36",X"03",X"2C",X"2C",X"10",X"F5", + X"AF",X"32",X"00",X"42",X"C9",X"DD",X"7E",X"50",X"FE",X"58",X"30",X"3D",X"DD",X"E5",X"E1",X"2C", + X"2C",X"7D",X"FE",X"2E",X"20",X"02",X"2E",X"20",X"7E",X"FE",X"05",X"20",X"F2",X"11",X"50",X"00", + X"19",X"5E",X"2C",X"56",X"DD",X"6E",X"50",X"DD",X"66",X"51",X"CD",X"E1",X"03",X"67",X"7B",X"FE", + X"10",X"D8",X"3A",X"04",X"42",X"87",X"5F",X"CD",X"97",X"03",X"DD",X"74",X"31",X"61",X"CD",X"97", + X"03",X"3A",X"04",X"42",X"84",X"DD",X"77",X"30",X"C9",X"01",X"05",X"07",X"FD",X"21",X"20",X"42", + X"C5",X"CD",X"60",X"0E",X"C1",X"FD",X"23",X"FD",X"23",X"10",X"F5",X"FD",X"21",X"2E",X"42",X"FD", + X"2B",X"FD",X"2B",X"FD",X"7E",X"00",X"FE",X"08",X"20",X"F5",X"21",X"2E",X"42",X"2D",X"2D",X"7E", + X"FE",X"06",X"20",X"F9",X"FD",X"36",X"F0",X"3A",X"11",X"F1",X"FF",X"19",X"7E",X"FD",X"77",X"F1", + X"11",X"5F",X"00",X"19",X"7E",X"D6",X"10",X"FD",X"77",X"50",X"2C",X"7E",X"FD",X"77",X"51",X"C9", + X"FD",X"7E",X"00",X"B9",X"C0",X"3A",X"01",X"42",X"87",X"87",X"FD",X"86",X"F1",X"21",X"B6",X"0E", + X"E7",X"FD",X"77",X"00",X"3A",X"01",X"42",X"2F",X"C6",X"06",X"FD",X"77",X"F1",X"FD",X"7E",X"00", + X"FE",X"06",X"28",X"0A",X"D6",X"09",X"C0",X"FD",X"77",X"50",X"FD",X"77",X"51",X"C9",X"FD",X"36", + X"F0",X"3B",X"FD",X"6E",X"50",X"FD",X"66",X"51",X"3A",X"D7",X"42",X"57",X"1E",X"FF",X"FD",X"E5", + X"CD",X"E1",X"03",X"FD",X"E1",X"67",X"3A",X"06",X"42",X"5F",X"CD",X"97",X"03",X"FD",X"74",X"31", + X"61",X"CD",X"97",X"03",X"FD",X"74",X"30",X"C9",X"01",X"06",X"09",X"08",X"09",X"01",X"08",X"06", + X"06",X"08",X"01",X"09",X"08",X"09",X"06",X"01",X"3A",X"2E",X"42",X"FE",X"03",X"28",X"0B",X"AF", + X"DD",X"77",X"00",X"DD",X"77",X"50",X"DD",X"77",X"51",X"C9",X"2A",X"7E",X"42",X"7D",X"D6",X"10", + X"DD",X"77",X"50",X"DD",X"74",X"51",X"E6",X"07",X"C0",X"DD",X"36",X"F0",X"3C",X"C9",X"DD",X"7E", + X"50",X"FE",X"C0",X"30",X"26",X"CD",X"98",X"09",X"01",X"08",X"07",X"FD",X"21",X"20",X"42",X"FD", + X"7E",X"00",X"B9",X"28",X"07",X"FD",X"23",X"FD",X"23",X"10",X"F4",X"C9",X"DD",X"7E",X"50",X"D6", + X"10",X"FD",X"77",X"50",X"DD",X"7E",X"51",X"FD",X"77",X"51",X"C9",X"DD",X"7E",X"10",X"E6",X"06", + X"21",X"E3",X"42",X"E7",X"DD",X"77",X"F1",X"DD",X"36",X"F0",X"2C",X"3A",X"04",X"42",X"DD",X"77", + X"30",X"DD",X"36",X"00",X"01",X"01",X"09",X"07",X"FD",X"21",X"20",X"42",X"FD",X"7E",X"00",X"B9", + X"28",X"07",X"FD",X"23",X"FD",X"23",X"10",X"F4",X"C9",X"FD",X"7E",X"10",X"E6",X"06",X"21",X"E3", + X"42",X"E7",X"FD",X"77",X"F1",X"FD",X"36",X"F0",X"2C",X"DD",X"7E",X"50",X"FD",X"77",X"50",X"DD", + X"7E",X"51",X"FD",X"77",X"51",X"3A",X"04",X"42",X"FD",X"77",X"30",X"FD",X"77",X"31",X"FD",X"36", + X"00",X"01",X"01",X"08",X"07",X"FD",X"21",X"20",X"42",X"FD",X"7E",X"00",X"B9",X"28",X"07",X"FD", + X"23",X"FD",X"23",X"10",X"F4",X"C9",X"FD",X"7E",X"10",X"E6",X"06",X"21",X"E3",X"42",X"E7",X"FD", + X"77",X"F1",X"FD",X"36",X"F0",X"2C",X"DD",X"7E",X"50",X"FD",X"77",X"50",X"DD",X"7E",X"51",X"FD", + X"77",X"51",X"3A",X"04",X"42",X"FD",X"77",X"30",X"ED",X"44",X"FD",X"77",X"31",X"FD",X"36",X"00", + X"01",X"C9",X"3A",X"9E",X"42",X"A7",X"C8",X"3A",X"BE",X"42",X"DD",X"96",X"50",X"FE",X"0C",X"D0", + X"3A",X"BF",X"42",X"DD",X"96",X"51",X"FE",X"10",X"D0",X"CD",X"74",X"06",X"CD",X"90",X"10",X"DD", + X"7E",X"F1",X"21",X"3C",X"11",X"E7",X"DD",X"77",X"F1",X"DD",X"36",X"F0",X"3E",X"DD",X"36",X"00", + X"0B",X"21",X"2E",X"42",X"2D",X"2D",X"7E",X"FE",X"08",X"20",X"F9",X"E5",X"FD",X"E1",X"FD",X"7E", + X"50",X"C6",X"10",X"FD",X"77",X"50",X"36",X"04",X"01",X"8C",X"06",X"CF",X"21",X"4B",X"22",X"CD", + X"1D",X"20",X"C9",X"3A",X"9E",X"42",X"A7",X"C8",X"3A",X"BE",X"42",X"DD",X"96",X"50",X"FE",X"0C", + X"D0",X"3A",X"BF",X"42",X"DD",X"96",X"51",X"D6",X"01",X"FE",X"0E",X"D0",X"CD",X"74",X"06",X"CD", + X"9D",X"10",X"DD",X"7E",X"F1",X"21",X"40",X"11",X"E7",X"DD",X"77",X"F1",X"DD",X"36",X"F0",X"2C", + X"DD",X"36",X"00",X"0C",X"21",X"2E",X"42",X"2D",X"2D",X"7E",X"FE",X"09",X"20",X"F9",X"36",X"04", + X"01",X"8C",X"06",X"CF",X"21",X"4B",X"22",X"CD",X"1D",X"20",X"C9",X"3A",X"9E",X"42",X"A7",X"C8", + X"3A",X"BE",X"42",X"DD",X"96",X"50",X"FE",X"0C",X"D0",X"3A",X"BF",X"42",X"DD",X"96",X"51",X"D6", + X"02",X"FE",X"0C",X"D0",X"CD",X"74",X"06",X"CD",X"AA",X"10",X"DD",X"E5",X"E1",X"36",X"04",X"01", + X"8C",X"06",X"CF",X"21",X"4B",X"22",X"CD",X"1D",X"20",X"AF",X"32",X"03",X"42",X"32",X"81",X"42", + X"3E",X"F0",X"D7",X"3A",X"80",X"42",X"32",X"81",X"42",X"3A",X"02",X"42",X"32",X"03",X"42",X"C9", + X"21",X"1A",X"11",X"CD",X"B7",X"10",X"21",X"26",X"11",X"CD",X"EF",X"10",X"C9",X"21",X"1E",X"11", + X"CD",X"B7",X"10",X"21",X"2E",X"11",X"CD",X"EF",X"10",X"C9",X"21",X"22",X"11",X"CD",X"B7",X"10", + X"21",X"36",X"11",X"CD",X"EF",X"10",X"C9",X"3A",X"01",X"42",X"E7",X"FE",X"23",X"20",X"07",X"3E", + X"13",X"CD",X"0A",X"03",X"3E",X"52",X"CD",X"0A",X"03",X"DD",X"7E",X"51",X"E6",X"F8",X"FE",X"18", + X"30",X"02",X"3E",X"18",X"FE",X"C0",X"38",X"02",X"3E",X"C0",X"6F",X"26",X"00",X"29",X"29",X"DD", + X"7E",X"50",X"E6",X"F8",X"0F",X"0F",X"0F",X"85",X"6F",X"11",X"21",X"50",X"19",X"EB",X"C9",X"3A", + X"01",X"42",X"87",X"E7",X"4E",X"23",X"46",X"EB",X"11",X"20",X"00",X"7E",X"FE",X"24",X"20",X"08", + X"E5",X"19",X"7E",X"E1",X"FE",X"24",X"28",X"03",X"2B",X"18",X"F0",X"71",X"19",X"70",X"3E",X"1E", + X"D7",X"11",X"E0",X"FF",X"36",X"24",X"19",X"36",X"24",X"C9",X"22",X"32",X"42",X"52",X"32",X"52", + X"62",X"13",X"52",X"72",X"13",X"23",X"C8",X"C9",X"C8",X"CA",X"C8",X"CB",X"C8",X"CC",X"C8",X"CA", + X"C8",X"CC",X"C8",X"CD",X"CF",X"F4",X"C8",X"CC",X"C8",X"CE",X"CF",X"F4",X"CF",X"F5",X"03",X"05", + X"02",X"04",X"05",X"04",X"03",X"02",X"3A",X"80",X"42",X"A7",X"C8",X"DD",X"21",X"90",X"42",X"06", + X"07",X"C5",X"DD",X"7E",X"00",X"A7",X"C4",X"6B",X"11",X"DD",X"7E",X"01",X"A7",X"C4",X"A4",X"11", + X"CD",X"EF",X"11",X"DD",X"23",X"DD",X"23",X"C1",X"10",X"E7",X"C9",X"26",X"00",X"87",X"30",X"01", + X"25",X"6F",X"29",X"29",X"29",X"DD",X"5E",X"10",X"DD",X"56",X"20",X"19",X"DD",X"75",X"10",X"DD", + X"74",X"20",X"7C",X"D6",X"10",X"FE",X"BD",X"D8",X"DD",X"7E",X"21",X"E6",X"F8",X"6F",X"D6",X"20", + X"FE",X"C0",X"30",X"2D",X"26",X"00",X"29",X"29",X"11",X"19",X"50",X"19",X"36",X"42",X"01",X"CF", + X"11",X"CF",X"18",X"1D",X"26",X"00",X"87",X"30",X"01",X"25",X"6F",X"29",X"29",X"29",X"DD",X"5E", + X"11",X"DD",X"56",X"21",X"19",X"DD",X"75",X"11",X"DD",X"74",X"21",X"7C",X"D6",X"10",X"FE",X"E0", + X"D8",X"AF",X"DD",X"77",X"00",X"DD",X"77",X"01",X"DD",X"77",X"20",X"DD",X"77",X"21",X"C9",X"3E", + X"08",X"D7",X"36",X"98",X"C9",X"3A",X"D0",X"42",X"3D",X"C0",X"3E",X"B3",X"DD",X"96",X"50",X"FE", + X"EA",X"D8",X"3A",X"D3",X"42",X"DD",X"96",X"51",X"C6",X"0B",X"FE",X"17",X"D0",X"18",X"19",X"3A", + X"D0",X"42",X"3D",X"C0",X"3E",X"BF",X"DD",X"96",X"20",X"FE",X"F0",X"D8",X"3A",X"D3",X"42",X"DD", + X"96",X"21",X"FE",X"F2",X"D8",X"CD",X"C1",X"11",X"AF",X"32",X"D0",X"42",X"01",X"11",X"12",X"CF", + X"C9",X"3E",X"10",X"CD",X"10",X"13",X"3A",X"D3",X"42",X"FE",X"D0",X"38",X"02",X"3E",X"C8",X"E6", + X"F8",X"6F",X"26",X"00",X"29",X"29",X"11",X"18",X"50",X"19",X"E5",X"11",X"20",X"00",X"36",X"A4", + X"2C",X"36",X"A5",X"19",X"36",X"A7",X"2D",X"36",X"A6",X"19",X"36",X"A8",X"2C",X"36",X"A9",X"E1", + X"3E",X"10",X"D7",X"E5",X"11",X"20",X"00",X"36",X"AA",X"2C",X"36",X"AB",X"19",X"36",X"AD",X"2D", + X"36",X"AC",X"19",X"36",X"AE",X"2C",X"36",X"AF",X"E1",X"3E",X"10",X"D7",X"11",X"20",X"00",X"3E", + X"24",X"77",X"2C",X"36",X"98",X"19",X"36",X"98",X"2D",X"77",X"19",X"77",X"2C",X"36",X"98",X"3E", + X"2D",X"D7",X"3E",X"10",X"D7",X"3A",X"D0",X"42",X"A7",X"C0",X"21",X"2B",X"43",X"77",X"2C",X"77", + X"2C",X"77",X"06",X"07",X"DD",X"21",X"20",X"42",X"DD",X"7E",X"50",X"D6",X"A0",X"FE",X"30",X"30", + X"3F",X"DD",X"7E",X"51",X"E6",X"F8",X"0F",X"0F",X"0F",X"C5",X"47",X"11",X"2B",X"43",X"FE",X"0D", + X"38",X"01",X"1C",X"D6",X"05",X"30",X"01",X"AF",X"FE",X"08",X"38",X"02",X"D6",X"08",X"FE",X"10", + X"38",X"01",X"AF",X"4F",X"78",X"FE",X"05",X"38",X"0C",X"2F",X"C6",X"1E",X"38",X"01",X"AF",X"FE", + X"05",X"38",X"02",X"3E",X"05",X"CD",X"EF",X"1B",X"C1",X"1A",X"B5",X"12",X"1C",X"1A",X"B4",X"12", + X"DD",X"23",X"DD",X"23",X"10",X"B2",X"0E",X"17",X"0D",X"28",X"97",X"79",X"CB",X"2F",X"38",X"03", + X"2F",X"C6",X"17",X"47",X"11",X"2B",X"43",X"FE",X"0B",X"38",X"03",X"1C",X"D6",X"08",X"21",X"03", + X"00",X"A7",X"28",X"04",X"29",X"3D",X"20",X"FC",X"1A",X"A5",X"6F",X"1C",X"1A",X"A4",X"B5",X"20", + X"D7",X"3E",X"04",X"80",X"87",X"87",X"87",X"32",X"D3",X"42",X"3E",X"01",X"32",X"D0",X"42",X"C9", + X"47",X"3A",X"17",X"43",X"A7",X"C0",X"3E",X"01",X"32",X"03",X"68",X"78",X"D7",X"AF",X"32",X"03", + X"68",X"C9",X"31",X"F3",X"23",X"3A",X"00",X"78",X"21",X"00",X"60",X"01",X"00",X"03",X"71",X"2C", + X"7D",X"E6",X"07",X"20",X"F9",X"7C",X"C6",X"08",X"67",X"10",X"F3",X"21",X"00",X"40",X"11",X"00", + X"04",X"71",X"23",X"1B",X"7B",X"B2",X"20",X"F9",X"3D",X"32",X"28",X"43",X"32",X"00",X"78",X"21", + X"00",X"50",X"01",X"00",X"04",X"36",X"24",X"23",X"0B",X"79",X"B0",X"20",X"F8",X"AF",X"21",X"C8", + X"42",X"06",X"04",X"77",X"2C",X"10",X"FC",X"32",X"D7",X"42",X"21",X"10",X"42",X"06",X"70",X"77", + X"2C",X"10",X"FC",X"21",X"90",X"42",X"06",X"30",X"77",X"2C",X"10",X"FC",X"21",X"00",X"58",X"06", + X"80",X"77",X"2C",X"10",X"FC",X"3A",X"08",X"43",X"47",X"C3",X"65",X"16",X"00",X"6F",X"67",X"22", + X"06",X"70",X"C9",X"3A",X"00",X"70",X"4F",X"E6",X"01",X"21",X"D1",X"13",X"E7",X"32",X"0A",X"43", + X"79",X"0F",X"4F",X"E6",X"01",X"32",X"0B",X"83",X"79",X"0F",X"4F",X"E6",X"01",X"C6",X"02",X"32", + X"09",X"43",X"79",X"0F",X"E6",X"01",X"32",X"08",X"43",X"3A",X"00",X"68",X"07",X"4F",X"E6",X"01", + X"26",X"05",X"28",X"02",X"26",X"03",X"79",X"07",X"2F",X"E6",X"01",X"3C",X"6F",X"22",X"0B",X"43", + X"C9",X"15",X"20",X"00",X"0F",X"0F",X"E6",X"01",X"32",X"0D",X"43",X"C9",X"10",X"12",X"15",X"FF", + X"31",X"00",X"44",X"CD",X"93",X"13",X"3E",X"01",X"32",X"03",X"70",X"01",X"00",X"28",X"3A",X"00", + X"78",X"0D",X"20",X"FA",X"10",X"F8",X"00",X"00",X"00",X"00",X"00",X"AF",X"00",X"00",X"32",X"0E", + X"43",X"AF",X"32",X"03",X"70",X"01",X"00",X"28",X"3A",X"00",X"78",X"AF",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"DF",X"52",X"14",X"3E",X"01",X"32", + X"02",X"43",X"32",X"88",X"42",X"32",X"89",X"42",X"32",X"8A",X"42",X"32",X"01",X"70",X"32",X"04", + X"70",X"2A",X"2E",X"43",X"7D",X"BC",X"28",X"F9",X"21",X"30",X"43",X"85",X"6F",X"D6",X"2C",X"E6", + X"7F",X"32",X"2E",X"43",X"11",X"31",X"14",X"D5",X"5E",X"2C",X"56",X"D5",X"2C",X"5E",X"2C",X"56", + X"EB",X"C9",X"CD",X"7C",X"14",X"DF",X"59",X"14",X"C9",X"CD",X"80",X"16",X"21",X"7C",X"42",X"35", + X"28",X"6A",X"7E",X"FE",X"F0",X"D0",X"C6",X"10",X"FE",X"30",X"D8",X"2C",X"2C",X"77",X"E6",X"03", + X"C0",X"CB",X"56",X"3E",X"34",X"28",X"01",X"3C",X"32",X"1E",X"42",X"C9",X"AF",X"32",X"02",X"42", + X"32",X"03",X"42",X"32",X"2E",X"42",X"32",X"80",X"42",X"32",X"81",X"42",X"32",X"C0",X"42",X"32", + X"C5",X"42",X"32",X"D0",X"42",X"32",X"D8",X"42",X"3C",X"32",X"17",X"43",X"CD",X"4F",X"13",X"21", + X"72",X"1B",X"11",X"E0",X"42",X"01",X"20",X"00",X"ED",X"B0",X"CD",X"9D",X"18",X"CD",X"3F",X"03", + X"CD",X"4A",X"16",X"CD",X"28",X"02",X"21",X"00",X"C0",X"22",X"7C",X"42",X"22",X"7E",X"42",X"21", + X"2C",X"02",X"22",X"1C",X"42",X"21",X"34",X"06",X"22",X"1E",X"42",X"C9",X"DF",X"80",X"16",X"F7", + X"47",X"51",X"01",X"0A",X"43",X"24",X"0E",X"16",X"24",X"0D",X"1B",X"0A",X"1E",X"10",X"3E",X"3C", + X"D7",X"F7",X"CD",X"50",X"01",X"13",X"0E",X"15",X"0B",X"0A",X"1D",X"24",X"0E",X"0C",X"17",X"0A", + X"1F",X"0D",X"0A",X"24",X"0E",X"1B",X"18",X"0C",X"1C",X"3E",X"3C",X"D7",X"F7",X"31",X"51",X"01", + X"0D",X"00",X"00",X"05",X"01",X"24",X"00",X"00",X"00",X"01",X"24",X"00",X"00",X"05",X"F7",X"0F", + X"53",X"03",X"02",X"E9",X"EC",X"ED",X"EB",X"EE",X"EF",X"3E",X"3C",X"D7",X"F7",X"33",X"51",X"01", + X"0C",X"00",X"05",X"01",X"24",X"24",X"00",X"00",X"01",X"24",X"24",X"00",X"05",X"F7",X"12",X"53", + X"02",X"02",X"B0",X"B1",X"B2",X"B3",X"3E",X"3C",X"D7",X"F7",X"35",X"51",X"01",X"0C",X"00",X"02", + X"01",X"24",X"24",X"00",X"08",X"24",X"24",X"24",X"00",X"04",X"F7",X"14",X"53",X"02",X"02",X"B0", + X"B1",X"B2",X"B3",X"3E",X"3C",X"D7",X"F7",X"37",X"51",X"01",X"0C",X"00",X"09",X"24",X"24",X"24", + X"00",X"06",X"24",X"24",X"24",X"00",X"03",X"F7",X"16",X"53",X"02",X"02",X"B0",X"B1",X"B2",X"B3", + X"3E",X"3C",X"D7",X"F7",X"39",X"51",X"01",X"0C",X"00",X"06",X"24",X"24",X"24",X"00",X"04",X"24", + X"24",X"24",X"00",X"02",X"F7",X"18",X"53",X"02",X"02",X"B0",X"B1",X"B2",X"B3",X"3E",X"3C",X"D7", + X"F7",X"9C",X"51",X"01",X"07",X"24",X"24",X"24",X"24",X"12",X"0A",X"1D",X"3E",X"3C",X"D7",X"11", + X"EF",X"42",X"3E",X"03",X"12",X"1C",X"12",X"1C",X"12",X"F7",X"31",X"51",X"01",X"0D",X"00",X"00", + X"00",X"01",X"24",X"00",X"00",X"06",X"24",X"24",X"00",X"00",X"04",X"3E",X"3C",X"D7",X"11",X"EF", + X"42",X"3E",X"04",X"12",X"1C",X"12",X"1C",X"12",X"F7",X"31",X"51",X"01",X"0D",X"00",X"00",X"07", + X"24",X"24",X"00",X"00",X"05",X"24",X"24",X"00",X"00",X"03",X"3E",X"3C",X"D7",X"11",X"EF",X"42", + X"3E",X"05",X"12",X"1C",X"12",X"1C",X"12",X"F7",X"31",X"51",X"01",X"0D",X"00",X"00",X"05",X"24", + X"24",X"00",X"00",X"03",X"24",X"24",X"00",X"00",X"02",X"3E",X"3C",X"D7",X"DF",X"73",X"16",X"CD", + X"4F",X"13",X"CD",X"8C",X"07",X"CD",X"9D",X"18",X"CD",X"3F",X"03",X"3E",X"06",X"32",X"C1",X"42", + X"AF",X"32",X"09",X"40",X"32",X"0B",X"40",X"CD",X"D9",X"18",X"AF",X"32",X"D0",X"42",X"3C",X"32", + X"C0",X"42",X"32",X"C5",X"42",X"32",X"D8",X"42",X"32",X"02",X"42",X"32",X"80",X"42",X"3E",X"78", + X"D7",X"3E",X"10",X"32",X"D1",X"42",X"CD",X"75",X"12",X"3E",X"08",X"32",X"D5",X"42",X"3E",X"01", + X"32",X"2E",X"42",X"32",X"03",X"42",X"32",X"81",X"42",X"C9",X"3A",X"0B",X"43",X"A7",X"28",X"14", + X"F7",X"FF",X"52",X"01",X"06",X"1D",X"12",X"0D",X"0E",X"1B",X"0C",X"3E",X"01",X"32",X"16",X"43", + X"CD",X"B0",X"02",X"C9",X"C9",X"3A",X"03",X"43",X"A0",X"2F",X"C3",X"8C",X"13",X"00",X"00",X"00", + X"1B",X"0F",X"C9",X"3A",X"08",X"40",X"A7",X"20",X"04",X"DF",X"52",X"14",X"C9",X"CD",X"23",X"1B", + X"3A",X"15",X"43",X"A7",X"C8",X"11",X"88",X"02",X"21",X"80",X"40",X"06",X"20",X"4E",X"2C",X"7E", + X"2C",X"BA",X"20",X"02",X"79",X"BB",X"28",X"06",X"2C",X"2C",X"10",X"F1",X"18",X"0B",X"7D",X"D6", + X"82",X"0F",X"0F",X"C6",X"60",X"6F",X"7E",X"A7",X"C0",X"21",X"60",X"40",X"01",X"00",X"20",X"71", + X"2C",X"10",X"FC",X"DF",X"58",X"17",X"AF",X"32",X"17",X"43",X"32",X"10",X"40",X"32",X"09",X"40", + X"32",X"0B",X"40",X"32",X"02",X"42",X"32",X"03",X"42",X"32",X"2E",X"42",X"32",X"80",X"42",X"32", + X"81",X"42",X"32",X"C0",X"42",X"32",X"C5",X"42",X"32",X"D0",X"42",X"32",X"D8",X"42",X"3C",X"32", + X"19",X"43",X"3A",X"09",X"43",X"32",X"0A",X"40",X"CD",X"D9",X"18",X"CD",X"4F",X"13",X"21",X"52", + X"1B",X"11",X"E0",X"42",X"01",X"20",X"00",X"ED",X"B0",X"CD",X"9D",X"18",X"CD",X"4A",X"16",X"CD", + X"28",X"02",X"F7",X"ED",X"50",X"01",X"11",X"17",X"18",X"1D",X"1D",X"1E",X"0B",X"24",X"1D",X"1B", + X"0A",X"1D",X"1C",X"24",X"11",X"1C",X"1E",X"19",X"3A",X"0A",X"43",X"3C",X"28",X"26",X"F7",X"94", + X"50",X"01",X"18",X"1C",X"1D",X"19",X"24",X"00",X"00",X"00",X"24",X"24",X"24",X"1B",X"18",X"0F", + X"24",X"10",X"17",X"12",X"14",X"24",X"1C",X"1E",X"17",X"18",X"0B",X"11",X"0A",X"43",X"21",X"94", + X"51",X"CD",X"BB",X"02",X"F7",X"38",X"51",X"01",X"0E",X"02",X"08",X"09",X"01",X"24",X"1D",X"11", + X"10",X"12",X"1B",X"22",X"19",X"18",X"0C",X"C9",X"3A",X"15",X"43",X"3D",X"20",X"15",X"F7",X"10", + X"51",X"01",X"0E",X"24",X"22",X"15",X"17",X"18",X"24",X"1B",X"0E",X"22",X"0A",X"15",X"19",X"24", + X"01",X"18",X"13",X"F7",X"10",X"51",X"01",X"0E",X"1C",X"1B",X"0E",X"22",X"0A",X"15",X"19",X"24", + X"02",X"24",X"1B",X"18",X"24",X"01",X"CD",X"3F",X"03",X"21",X"00",X"68",X"AF",X"CB",X"46",X"20", + X"0A",X"3A",X"15",X"43",X"3D",X"C8",X"CB",X"4E",X"C8",X"3E",X"01",X"32",X"02",X"43",X"DF",X"AF", + X"18",X"3A",X"0B",X"43",X"A7",X"28",X"0C",X"3A",X"02",X"43",X"2F",X"C6",X"9A",X"21",X"15",X"43", + X"86",X"27",X"77",X"AF",X"32",X"16",X"43",X"32",X"19",X"43",X"21",X"0D",X"40",X"77",X"2C",X"77", + X"2C",X"77",X"21",X"2D",X"40",X"77",X"2C",X"77",X"2C",X"77",X"3C",X"32",X"C0",X"42",X"32",X"C5", + X"42",X"32",X"D8",X"42",X"3E",X"C0",X"32",X"1C",X"43",X"21",X"00",X"40",X"11",X"20",X"40",X"06", + X"20",X"7E",X"12",X"2C",X"1C",X"10",X"FA",X"3A",X"02",X"43",X"A7",X"20",X"09",X"21",X"20",X"40", + X"06",X"20",X"77",X"2C",X"10",X"FC",X"21",X"07",X"22",X"CD",X"1D",X"20",X"CD",X"04",X"18",X"3E", + X"F0",X"D7",X"18",X"45",X"CD",X"4F",X"13",X"CD",X"8C",X"07",X"CD",X"9D",X"18",X"CD",X"3F",X"03", + X"CD",X"77",X"18",X"CD",X"50",X"19",X"3E",X"06",X"32",X"C1",X"42",X"AF",X"32",X"D0",X"42",X"32", + X"C3",X"42",X"CD",X"74",X"08",X"3E",X"01",X"32",X"C0",X"42",X"32",X"C5",X"42",X"32",X"D8",X"42", + X"32",X"1A",X"43",X"21",X"04",X"60",X"00",X"2C",X"77",X"2C",X"77",X"2C",X"77",X"21",X"00",X"68", + X"77",X"2C",X"77",X"2C",X"77",X"C9",X"CD",X"04",X"18",X"3E",X"3C",X"D7",X"3E",X"10",X"32",X"D1", + X"42",X"CD",X"75",X"12",X"3E",X"08",X"32",X"D5",X"42",X"3E",X"01",X"32",X"80",X"42",X"32",X"2E", + X"42",X"21",X"0A",X"40",X"35",X"CD",X"77",X"18",X"3E",X"78",X"D7",X"3E",X"01",X"32",X"02",X"42", + X"32",X"03",X"42",X"32",X"81",X"42",X"C9",X"3A",X"0A",X"40",X"4F",X"3E",X"05",X"91",X"FD",X"21", + X"9E",X"52",X"11",X"40",X"00",X"28",X"08",X"47",X"CD",X"C8",X"19",X"FD",X"19",X"10",X"F9",X"79", + X"A7",X"C8",X"47",X"3E",X"2C",X"CD",X"D7",X"19",X"FD",X"19",X"10",X"F7",X"C9",X"F7",X"60",X"51", + X"01",X"0A",X"0E",X"1B",X"18",X"0C",X"1C",X"24",X"11",X"10",X"12",X"11",X"C3",X"29",X"03",X"3A", + X"08",X"40",X"A7",X"C0",X"DF",X"26",X"00",X"AF",X"32",X"03",X"42",X"32",X"81",X"42",X"21",X"65", + X"23",X"CD",X"4D",X"20",X"3E",X"B4",X"D7",X"DF",X"AF",X"18",X"CD",X"D9",X"18",X"3E",X"78",X"D7", + X"3E",X"01",X"32",X"03",X"42",X"32",X"81",X"42",X"C9",X"3E",X"2A",X"32",X"08",X"40",X"3E",X"09", + X"32",X"00",X"42",X"AF",X"32",X"C3",X"42",X"CD",X"74",X"08",X"21",X"C0",X"19",X"11",X"00",X"40", + X"01",X"08",X"00",X"ED",X"B0",X"21",X"09",X"40",X"7E",X"C6",X"01",X"27",X"FE",X"49",X"30",X"01", + X"77",X"21",X"0B",X"40",X"7E",X"A7",X"28",X"03",X"3A",X"0D",X"43",X"C6",X"01",X"86",X"38",X"01", + X"77",X"21",X"E7",X"19",X"CD",X"33",X"1D",X"32",X"04",X"42",X"21",X"F9",X"19",X"CD",X"33",X"1D", + X"32",X"05",X"42",X"21",X"0B",X"1A",X"CD",X"33",X"1D",X"32",X"06",X"42",X"21",X"0D",X"1A",X"CD", + X"33",X"1D",X"32",X"07",X"42",X"21",X"21",X"1A",X"CD",X"33",X"1D",X"32",X"08",X"42",X"21",X"35", + X"1A",X"CD",X"33",X"1D",X"32",X"09",X"42",X"21",X"37",X"1A",X"CD",X"33",X"1D",X"32",X"0A",X"42", + X"21",X"00",X"00",X"22",X"84",X"42",X"21",X"5E",X"50",X"11",X"20",X"00",X"3A",X"09",X"40",X"E6", + X"0F",X"28",X"2C",X"FE",X"05",X"28",X"1C",X"38",X"02",X"D6",X"05",X"47",X"36",X"FC",X"2C",X"36", + X"FD",X"19",X"36",X"FF",X"2D",X"36",X"FE",X"19",X"10",X"F2",X"3A",X"09",X"40",X"E6",X"0F",X"FE", + X"05",X"38",X"0C",X"36",X"26",X"2C",X"36",X"27",X"19",X"36",X"29",X"2D",X"36",X"28",X"19",X"3A", + X"09",X"40",X"0F",X"0F",X"0F",X"0F",X"E6",X"0F",X"28",X"0F",X"47",X"36",X"2A",X"2C",X"36",X"27", + X"19",X"36",X"29",X"2D",X"36",X"2B",X"19",X"10",X"F2",X"7C",X"FE",X"52",X"20",X"03",X"7D",X"FE", + X"5E",X"C8",X"36",X"24",X"2C",X"36",X"24",X"19",X"36",X"24",X"2D",X"36",X"24",X"19",X"18",X"E9", + X"FC",X"3F",X"FC",X"3F",X"F8",X"1F",X"F0",X"0F",X"3E",X"24",X"FD",X"77",X"00",X"FD",X"77",X"01", + X"FD",X"77",X"20",X"FD",X"77",X"21",X"C9",X"FD",X"77",X"00",X"3C",X"FD",X"77",X"01",X"3C",X"FD", + X"77",X"20",X"3C",X"FD",X"77",X"21",X"C9",X"01",X"10",X"02",X"12",X"03",X"14",X"04",X"15",X"06", + X"16",X"07",X"14",X"0B",X"17",X"0C",X"14",X"FF",X"18",X"01",X"10",X"02",X"12",X"03",X"14",X"04", + X"15",X"06",X"16",X"07",X"14",X"0B",X"17",X"0C",X"14",X"FF",X"18",X"FF",X"0C",X"01",X"10",X"02", + X"12",X"03",X"14",X"04",X"15",X"06",X"16",X"07",X"12",X"09",X"17",X"0B",X"18",X"0C",X"14",X"FF", + X"19",X"01",X"10",X"02",X"12",X"03",X"14",X"04",X"15",X"06",X"16",X"07",X"12",X"09",X"17",X"0B", + X"18",X"0C",X"14",X"FF",X"19",X"FF",X"0E",X"FF",X"20",X"3A",X"17",X"43",X"A7",X"28",X"04",X"DF", + X"52",X"14",X"C9",X"DF",X"26",X"00",X"AF",X"32",X"1A",X"43",X"32",X"02",X"42",X"32",X"03",X"42", + X"32",X"2E",X"42",X"32",X"80",X"42",X"32",X"81",X"42",X"32",X"C0",X"42",X"32",X"C5",X"42",X"32", + X"D0",X"42",X"32",X"D8",X"42",X"21",X"04",X"60",X"00",X"2C",X"77",X"2C",X"77",X"2C",X"77",X"21", + X"00",X"68",X"77",X"2C",X"77",X"2C",X"77",X"3A",X"02",X"43",X"A7",X"28",X"2C",X"3A",X"0A",X"40", + X"A7",X"20",X"15",X"01",X"88",X"1A",X"CF",X"C9",X"CD",X"09",X"1B",X"CD",X"E6",X"1A",X"3E",X"F0", + X"D7",X"DF",X"95",X"1A",X"C9",X"DF",X"26",X"00",X"3A",X"2A",X"40",X"A7",X"28",X"0B",X"CD",X"CD", + X"1A",X"01",X"46",X"18",X"CF",X"DF",X"AF",X"18",X"C9",X"3A",X"0A",X"40",X"A7",X"20",X"F2",X"01", + X"B4",X"1A",X"CF",X"C9",X"AF",X"32",X"D8",X"42",X"CD",X"09",X"1B",X"3E",X"78",X"D7",X"3A",X"03", + X"43",X"A7",X"C4",X"CD",X"1A",X"AF",X"32",X"1C",X"43",X"DF",X"52",X"14",X"C9",X"06",X"20",X"11", + X"00",X"40",X"21",X"20",X"40",X"1A",X"4E",X"EB",X"12",X"71",X"1C",X"2C",X"10",X"F7",X"21",X"03", + X"43",X"7E",X"EE",X"01",X"77",X"C9",X"F7",X"F2",X"51",X"01",X"06",X"1B",X"0E",X"22",X"0A",X"15", + X"19",X"3A",X"03",X"43",X"A7",X"20",X"09",X"F7",X"72",X"51",X"01",X"03",X"0E",X"17",X"18",X"C9", + X"F7",X"72",X"51",X"01",X"03",X"18",X"20",X"1D",X"C9",X"21",X"8D",X"51",X"11",X"20",X"00",X"01", + X"24",X"09",X"71",X"19",X"10",X"FC",X"21",X"72",X"51",X"11",X"20",X"00",X"01",X"24",X"0A",X"71", + X"19",X"10",X"FC",X"F7",X"94",X"51",X"01",X"09",X"1B",X"0E",X"1F",X"18",X"24",X"0E",X"16",X"0A", + X"10",X"C9",X"07",X"07",X"07",X"02",X"02",X"03",X"03",X"04",X"04",X"05",X"05",X"00",X"00",X"03", + X"03",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"06",X"06",X"06",X"06", + X"01",X"01",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07", + X"07",X"07",X"07",X"07",X"07",X"07",X"04",X"04",X"04",X"04",X"01",X"01",X"01",X"01",X"01",X"01", + X"01",X"01",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07",X"07", + X"07",X"02",X"02",X"02",X"02",X"02",X"03",X"03",X"04",X"04",X"05",X"05",X"01",X"01",X"01",X"01", + X"01",X"01",X"21",X"89",X"42",X"35",X"C0",X"CD",X"15",X"1D",X"32",X"89",X"42",X"3A",X"03",X"42", + X"A7",X"C8",X"3A",X"08",X"40",X"A7",X"C8",X"FE",X"0A",X"38",X"0A",X"21",X"00",X"42",X"7E",X"D6", + X"01",X"DA",X"4A",X"1F",X"77",X"06",X"07",X"DD",X"21",X"20",X"42",X"DD",X"7E",X"00",X"A7",X"28", + X"42",X"DD",X"23",X"DD",X"23",X"10",X"F4",X"C9",X"3A",X"C3",X"42",X"E6",X"F8",X"0F",X"0F",X"0F", + X"47",X"2F",X"C6",X"02",X"FE",X"F0",X"38",X"01",X"AF",X"E6",X"0F",X"4F",X"78",X"FE",X"10",X"30", + X"01",X"2F",X"E6",X"0F",X"3D",X"F2",X"E9",X"1B",X"AF",X"FE",X"0D",X"38",X"02",X"3E",X"0D",X"21", + X"00",X"00",X"A7",X"28",X"06",X"47",X"37",X"ED",X"6A",X"10",X"FB",X"79",X"A7",X"C8",X"47",X"29", + X"10",X"FD",X"C9",X"CD",X"C8",X"1B",X"FD",X"21",X"00",X"40",X"FD",X"7E",X"00",X"FD",X"B6",X"02", + X"FD",X"B6",X"04",X"FD",X"B6",X"06",X"A5",X"5F",X"FD",X"7E",X"01",X"FD",X"B6",X"03",X"FD",X"B6", + X"05",X"FD",X"B6",X"07",X"A4",X"57",X"21",X"08",X"40",X"3A",X"C1",X"42",X"87",X"38",X"19",X"01", + X"00",X"01",X"78",X"A3",X"20",X"2C",X"0C",X"CB",X"00",X"30",X"F7",X"2C",X"0E",X"00",X"78",X"A2", + X"20",X"20",X"0C",X"CB",X"00",X"30",X"F7",X"C9",X"2C",X"01",X"07",X"80",X"78",X"A2",X"20",X"12", + X"0D",X"CB",X"08",X"30",X"F7",X"2D",X"0E",X"07",X"78",X"A3",X"20",X"06",X"0D",X"CB",X"08",X"30", + X"F7",X"C9",X"2D",X"2D",X"78",X"A6",X"28",X"FA",X"AE",X"77",X"79",X"0F",X"0F",X"57",X"0F",X"85", + X"D6",X"00",X"DD",X"77",X"10",X"7A",X"E6",X"C0",X"5F",X"7A",X"E6",X"01",X"57",X"7D",X"D6",X"00", + X"0F",X"30",X"02",X"14",X"14",X"87",X"83",X"5F",X"FD",X"21",X"03",X"50",X"FD",X"19",X"CD",X"C8", + X"19",X"DD",X"36",X"F0",X"2C",X"DD",X"7E",X"10",X"E6",X"1E",X"21",X"E3",X"42",X"E7",X"DD",X"77", + X"F1",X"DD",X"7E",X"10",X"E6",X"E0",X"67",X"DD",X"7E",X"10",X"0F",X"CB",X"1C",X"87",X"87",X"87", + X"87",X"C6",X"18",X"6F",X"DD",X"7E",X"10",X"E6",X"1E",X"0F",X"C6",X"C8",X"5F",X"16",X"42",X"1A", + X"84",X"67",X"DD",X"75",X"50",X"DD",X"74",X"51",X"E5",X"21",X"82",X"42",X"7E",X"07",X"07",X"86", + X"3C",X"77",X"E6",X"7F",X"C6",X"40",X"E1",X"57",X"1E",X"FF",X"CD",X"E1",X"03",X"67",X"3A",X"04", + X"42",X"5F",X"CD",X"97",X"03",X"DD",X"74",X"31",X"61",X"CD",X"97",X"03",X"DD",X"74",X"30",X"DD", + X"7E",X"10",X"0F",X"2F",X"E6",X"80",X"DD",X"77",X"21",X"DD",X"36",X"00",X"01",X"21",X"65",X"23", + X"CD",X"1D",X"20",X"06",X"08",X"AF",X"21",X"00",X"40",X"B6",X"2C",X"10",X"FC",X"A7",X"C0",X"32", + X"C3",X"42",X"C3",X"74",X"08",X"3A",X"08",X"40",X"FE",X"07",X"30",X"03",X"3E",X"0A",X"C9",X"21", + X"4F",X"1D",X"3A",X"85",X"42",X"BE",X"23",X"38",X"06",X"28",X"04",X"23",X"23",X"18",X"F6",X"5E", + X"23",X"56",X"EB",X"3A",X"0D",X"43",X"A7",X"3A",X"0B",X"40",X"20",X"09",X"FE",X"10",X"38",X"05", + X"3E",X"0C",X"32",X"0B",X"40",X"3D",X"BE",X"23",X"38",X"03",X"23",X"18",X"F9",X"7E",X"C9",X"04", + X"5E",X"1D",X"08",X"72",X"1D",X"0C",X"82",X"1D",X"10",X"92",X"1D",X"FF",X"9E",X"1D",X"01",X"78", + X"02",X"50",X"03",X"46",X"04",X"3C",X"05",X"37",X"06",X"32",X"07",X"50",X"08",X"2D",X"09",X"28", + X"FF",X"23",X"01",X"64",X"02",X"3C",X"03",X"32",X"05",X"2D",X"06",X"28",X"07",X"3C",X"08",X"23", + X"FF",X"1E",X"01",X"50",X"02",X"32",X"03",X"28",X"05",X"23",X"06",X"1E",X"07",X"32",X"08",X"1E", + X"FF",X"19",X"01",X"50",X"02",X"28",X"06",X"1E",X"07",X"28",X"08",X"19",X"FF",X"14",X"01",X"3C", + X"03",X"1E",X"05",X"19",X"06",X"14",X"07",X"1E",X"FF",X"14",X"21",X"8A",X"42",X"35",X"C0",X"36", + X"1E",X"3A",X"08",X"40",X"A7",X"C8",X"3A",X"D0",X"42",X"3D",X"C0",X"3A",X"81",X"42",X"A7",X"C8", + X"01",X"00",X"07",X"21",X"90",X"42",X"7E",X"2C",X"B6",X"28",X"01",X"0C",X"2C",X"10",X"F7",X"21", + X"B0",X"1E",X"3A",X"08",X"40",X"3D",X"BE",X"23",X"38",X"04",X"23",X"23",X"18",X"F8",X"5E",X"23", + X"56",X"EB",X"CD",X"33",X"1D",X"3D",X"B9",X"D8",X"CD",X"C8",X"1B",X"DD",X"21",X"00",X"40",X"DD", + X"7E",X"00",X"DD",X"B6",X"02",X"DD",X"B6",X"04",X"DD",X"B6",X"06",X"A5",X"5F",X"DD",X"7E",X"01", + X"DD",X"B6",X"03",X"DD",X"B6",X"05",X"DD",X"B6",X"07",X"A4",X"57",X"DD",X"21",X"8E",X"42",X"DD", + X"23",X"DD",X"23",X"DD",X"7E",X"00",X"DD",X"B6",X"01",X"20",X"F4",X"7A",X"B3",X"CA",X"8C",X"1E", + X"CD",X"E9",X"1F",X"21",X"09",X"40",X"87",X"38",X"01",X"2D",X"4F",X"07",X"07",X"07",X"3C",X"47", + X"3E",X"80",X"07",X"10",X"FD",X"47",X"2D",X"2D",X"78",X"A6",X"28",X"FA",X"61",X"7D",X"D6",X"00", + X"6F",X"E6",X"1E",X"0F",X"C6",X"C8",X"5F",X"7D",X"0F",X"CB",X"1C",X"87",X"87",X"87",X"87",X"C6", + X"24",X"6F",X"16",X"42",X"1A",X"C6",X"07",X"84",X"67",X"DD",X"75",X"20",X"DD",X"74",X"21",X"3A", + X"D3",X"42",X"C6",X"08",X"57",X"1E",X"C8",X"CD",X"E1",X"03",X"67",X"C6",X"40",X"FE",X"81",X"38", + X"0B",X"FE",X"40",X"0E",X"6E",X"26",X"40",X"F2",X"7C",X"1E",X"26",X"C0",X"1E",X"1C",X"CD",X"97", + X"03",X"DD",X"74",X"01",X"61",X"CD",X"97",X"03",X"DD",X"74",X"00",X"C9",X"06",X"07",X"FD",X"21", + X"20",X"42",X"FD",X"7E",X"00",X"3D",X"20",X"07",X"FD",X"7E",X"50",X"FE",X"80",X"38",X"07",X"FD", + X"23",X"FD",X"23",X"10",X"ED",X"C9",X"C6",X"0C",X"6F",X"FD",X"7E",X"51",X"C6",X"07",X"18",X"A8", + X"06",X"BC",X"1E",X"12",X"C8",X"1E",X"1E",X"D4",X"1E",X"FF",X"DC",X"1E",X"01",X"03",X"02",X"04", + X"06",X"05",X"07",X"04",X"0E",X"06",X"FF",X"07",X"01",X"02",X"02",X"03",X"06",X"04",X"07",X"03", + X"0E",X"05",X"FF",X"06",X"02",X"02",X"07",X"03",X"0E",X"04",X"FF",X"05",X"07",X"02",X"0E",X"03", + X"FF",X"04",X"21",X"88",X"42",X"35",X"C0",X"36",X"10",X"3A",X"D8",X"42",X"A7",X"C8",X"21",X"C4", + X"42",X"7E",X"3C",X"FE",X"0C",X"38",X"01",X"AF",X"77",X"21",X"00",X"40",X"4E",X"06",X"08",X"CB", + X"01",X"DC",X"0D",X"1F",X"10",X"F9",X"2C",X"7D",X"FE",X"08",X"38",X"F0",X"C9",X"E5",X"11",X"00", + X"40",X"19",X"EB",X"CB",X"3B",X"78",X"30",X"02",X"C6",X"08",X"3D",X"6F",X"26",X"00",X"29",X"29", + X"29",X"29",X"29",X"19",X"29",X"EB",X"FD",X"21",X"03",X"50",X"FD",X"19",X"3A",X"C5",X"42",X"A7", + X"28",X"03",X"3A",X"C4",X"42",X"21",X"3E",X"1F",X"E7",X"CD",X"D7",X"19",X"E1",X"C9",X"B0",X"B4", + X"B8",X"BC",X"B8",X"B4",X"B0",X"B4",X"B8",X"BC",X"B8",X"B4",X"01",X"00",X"07",X"11",X"20",X"42", + X"1A",X"A7",X"20",X"01",X"0C",X"1C",X"1C",X"10",X"F7",X"79",X"FE",X"03",X"D8",X"3E",X"09",X"32", + X"00",X"42",X"CD",X"C8",X"1B",X"11",X"00",X"40",X"01",X"10",X"00",X"1A",X"A5",X"C5",X"47",X"1C", + X"1A",X"A4",X"B0",X"C1",X"28",X"02",X"04",X"37",X"CB",X"11",X"1C",X"30",X"EE",X"78",X"FE",X"03", + X"D8",X"3E",X"FF",X"28",X"0C",X"3A",X"D7",X"42",X"E6",X"03",X"3C",X"47",X"3E",X"7F",X"07",X"10", + X"FD",X"A1",X"06",X"04",X"05",X"0F",X"38",X"FC",X"78",X"32",X"01",X"42",X"87",X"C6",X"00",X"4F", + X"06",X"04",X"21",X"00",X"40",X"79",X"BD",X"28",X"0B",X"C5",X"E5",X"CD",X"BF",X"1F",X"DD",X"36", + X"00",X"05",X"E1",X"C1",X"2C",X"2C",X"10",X"ED",X"21",X"65",X"23",X"CD",X"1D",X"20",X"C9",X"E5", + X"5E",X"2C",X"56",X"CD",X"E9",X"1F",X"E1",X"87",X"30",X"01",X"2C",X"07",X"07",X"07",X"4F",X"3C", + X"47",X"3E",X"80",X"07",X"10",X"FD",X"AE",X"77",X"DD",X"21",X"20",X"42",X"DD",X"7E",X"00",X"A7", + X"CA",X"6A",X"1C",X"DD",X"23",X"DD",X"23",X"18",X"F3",X"21",X"82",X"42",X"7E",X"07",X"07",X"86", + X"3C",X"77",X"0F",X"0F",X"0F",X"0F",X"AE",X"E6",X"0F",X"3C",X"47",X"EB",X"AF",X"D6",X"10",X"29", + X"30",X"FB",X"2C",X"10",X"F8",X"C9",X"A7",X"28",X"0C",X"47",X"3A",X"17",X"43",X"A7",X"C0",X"3A", + X"0E",X"43",X"A7",X"C0",X"78",X"32",X"00",X"70",X"0F",X"32",X"02",X"70",X"C9",X"3A",X"17",X"43", + X"A7",X"C0",X"3A",X"0E",X"43",X"A7",X"20",X"03",X"7E",X"87",X"D8",X"CD",X"5B",X"20",X"36",X"01", + X"2C",X"36",X"00",X"C9",X"3A",X"17",X"43",X"A7",X"C0",X"3A",X"0E",X"43",X"A7",X"20",X"03",X"7E", + X"87",X"D8",X"CD",X"5B",X"20",X"7E",X"A7",X"C0",X"34",X"2C",X"36",X"00",X"C9",X"CD",X"5B",X"20", + X"36",X"00",X"3E",X"FF",X"32",X"28",X"43",X"32",X"00",X"78",X"C9",X"11",X"FB",X"20",X"1A",X"13", + X"BD",X"20",X"04",X"1A",X"BC",X"28",X"03",X"13",X"18",X"F4",X"21",X"44",X"1F",X"19",X"C9",X"06", + X"10",X"DD",X"21",X"40",X"40",X"C5",X"CD",X"93",X"20",X"C1",X"DD",X"23",X"DD",X"23",X"10",X"F5", + X"3A",X"26",X"43",X"32",X"07",X"68",X"3A",X"27",X"43",X"32",X"06",X"68",X"3A",X"28",X"43",X"32", + X"00",X"78",X"C9",X"DD",X"7E",X"00",X"A7",X"C8",X"3E",X"10",X"90",X"87",X"21",X"FB",X"20",X"E7", + X"5F",X"23",X"56",X"6B",X"62",X"DD",X"7E",X"00",X"E7",X"47",X"07",X"07",X"32",X"26",X"43",X"07", + X"32",X"27",X"43",X"78",X"E6",X"1F",X"21",X"DB",X"20",X"E7",X"32",X"28",X"43",X"78",X"87",X"30", + X"05",X"DD",X"36",X"00",X"00",X"C9",X"DD",X"7E",X"01",X"D6",X"01",X"38",X"04",X"DD",X"77",X"01", + X"C9",X"1A",X"E6",X"7F",X"DD",X"77",X"01",X"DD",X"34",X"00",X"C9",X"00",X"0E",X"1C",X"29",X"35", + X"40",X"4B",X"55",X"5E",X"67",X"70",X"78",X"7F",X"87",X"8D",X"94",X"9A",X"9F",X"A5",X"AA",X"AF", + X"B3",X"B7",X"BB",X"BF",X"C3",X"C6",X"C9",X"CC",X"CF",X"D2",X"FF",X"65",X"23",X"65",X"23",X"4B", + X"22",X"4B",X"22",X"4B",X"22",X"4B",X"22",X"1D",X"21",X"93",X"22",X"1B",X"21",X"1B",X"21",X"1B", + X"21",X"1B",X"21",X"85",X"22",X"07",X"22",X"75",X"22",X"6B",X"22",X"00",X"9F",X"80",X"11",X"13", + X"11",X"13",X"11",X"13",X"11",X"13",X"1D",X"1C",X"1A",X"18",X"16",X"15",X"13",X"11",X"1F",X"1F", + X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"05",X"07", + X"05",X"07",X"05",X"07",X"05",X"07",X"11",X"10",X"0E",X"0C",X"0A",X"09",X"07",X"05",X"1F",X"1F", + X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"0C",X"0E", + X"0C",X"0E",X"0C",X"0E",X"0C",X"0E",X"18",X"17",X"15",X"13",X"11",X"10",X"0E",X"0C",X"1F",X"1F", + X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"00",X"02", + X"00",X"02",X"00",X"02",X"00",X"02",X"0C",X"0B",X"09",X"07",X"05",X"04",X"02",X"00",X"1F",X"1F", + X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"11",X"13",X"11",X"13",X"11",X"13",X"11",X"13",X"1D",X"1C", + X"1A",X"18",X"16",X"15",X"13",X"11",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F", + X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"05",X"07",X"05",X"07",X"05",X"07",X"05",X"07",X"11",X"10", + X"0E",X"0C",X"0A",X"09",X"07",X"05",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F", + X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"0C",X"0E",X"0C",X"0E",X"0C",X"0E",X"0C",X"0E",X"18",X"17", + X"15",X"13",X"11",X"10",X"0E",X"0C",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"1F", + X"1F",X"1F",X"1F",X"1F",X"1F",X"1F",X"00",X"02",X"00",X"02",X"00",X"02",X"00",X"02",X"0C",X"0B", + X"09",X"07",X"05",X"04",X"02",X"00",X"9F",X"04",X"5A",X"5A",X"5A",X"1F",X"58",X"55",X"55",X"1F", + X"53",X"5A",X"5A",X"1F",X"58",X"55",X"55",X"1F",X"53",X"5C",X"5A",X"58",X"57",X"55",X"53",X"52", + X"50",X"4E",X"50",X"52",X"53",X"55",X"57",X"58",X"5A",X"5C",X"5A",X"5A",X"1F",X"58",X"55",X"55", + X"1F",X"53",X"5A",X"5A",X"1F",X"58",X"55",X"55",X"1F",X"53",X"4E",X"50",X"4E",X"50",X"53",X"55", + X"53",X"55",X"58",X"5A",X"58",X"5A",X"5C",X"5E",X"5C",X"5E",X"9F",X"00",X"00",X"11",X"02",X"13", + X"05",X"18",X"0B",X"1D",X"0E",X"1E",X"00",X"1E",X"0E",X"00",X"1E",X"0E",X"1D",X"0C",X"1B",X"0A", + X"10",X"08",X"17",X"05",X"14",X"03",X"12",X"02",X"11",X"01",X"9F",X"00",X"60",X"62",X"64",X"65", + X"67",X"69",X"6B",X"6C",X"9F",X"04",X"7E",X"1F",X"7E",X"1F",X"7E",X"1F",X"7E",X"1F",X"7E",X"1F", + X"7E",X"1F",X"7E",X"7E",X"9F",X"85",X"0C",X"0C",X"1F",X"07",X"09",X"1F",X"07",X"09",X"1F",X"0C", + X"1F",X"0C",X"9F",X"80",X"00",X"02",X"03",X"04",X"05",X"04",X"03",X"02",X"01",X"03",X"04",X"05", + X"06",X"05",X"04",X"03",X"02",X"04",X"05",X"06",X"07",X"06",X"05",X"04",X"03",X"05",X"06",X"07", + X"08",X"07",X"06",X"05",X"04",X"06",X"07",X"08",X"09",X"08",X"07",X"06",X"05",X"07",X"08",X"09", + X"0A",X"09",X"08",X"07",X"06",X"08",X"09",X"0A",X"0B",X"0A",X"09",X"08",X"07",X"09",X"0A",X"0B", + X"0C",X"0B",X"0A",X"09",X"08",X"0A",X"0B",X"0C",X"0D",X"0C",X"0B",X"0A",X"09",X"0B",X"0C",X"0D", + X"0E",X"0D",X"0C",X"0B",X"0A",X"0C",X"0D",X"0E",X"0F",X"0E",X"0D",X"0C",X"0B",X"0D",X"0E",X"0F", + X"10",X"0F",X"0E",X"0D",X"0C",X"0E",X"0F",X"10",X"11",X"10",X"0F",X"0E",X"0D",X"0F",X"10",X"11", + X"12",X"11",X"10",X"1F",X"0E",X"10",X"11",X"12",X"13",X"12",X"11",X"10",X"0F",X"11",X"12",X"13", + X"14",X"13",X"12",X"11",X"10",X"12",X"13",X"14",X"15",X"14",X"13",X"12",X"11",X"13",X"14",X"15", + X"16",X"15",X"14",X"13",X"12",X"14",X"15",X"16",X"17",X"16",X"15",X"14",X"13",X"15",X"16",X"17", + X"18",X"17",X"16",X"15",X"14",X"16",X"17",X"18",X"19",X"18",X"17",X"16",X"15",X"17",X"18",X"19", + X"1A",X"19",X"18",X"17",X"16",X"18",X"19",X"1A",X"1B",X"1A",X"19",X"18",X"17",X"19",X"1A",X"1B", + X"1C",X"1B",X"1A",X"19",X"18",X"1A",X"1B",X"1C",X"1D",X"1C",X"1B",X"1A",X"19",X"1B",X"1C",X"1D", + X"1E",X"1D",X"1C",X"1B",X"9F",X"00",X"10",X"0E",X"0D",X"0C",X"0B",X"0C",X"0D",X"0E",X"0F",X"0D", + X"0C",X"0B",X"0A",X"0B",X"0C",X"0D",X"0E",X"0C",X"0B",X"0A",X"09",X"0A",X"0B",X"0C",X"0D",X"0B", + X"0A",X"09",X"08",X"09",X"0A",X"0B",X"0C",X"0A",X"09",X"08",X"07",X"08",X"09",X"0A",X"0B",X"09", + X"08",X"07",X"06",X"07",X"08",X"09",X"0A",X"08",X"07",X"06",X"05",X"06",X"07",X"08",X"09",X"08", + X"07",X"06",X"05",X"04",X"05",X"06",X"07",X"08",X"06",X"05",X"04",X"03",X"04",X"05",X"06",X"07", + X"05",X"04",X"03",X"02",X"03",X"04",X"05",X"06",X"05",X"04",X"03",X"02",X"01",X"02",X"03",X"04", + X"05",X"03",X"02",X"01",X"00",X"01",X"02",X"03",X"9F",X"F5",X"23",X"48",X"24",X"00",X"40",X"0F", + X"04",X"48",X"24",X"00",X"40",X"F0",X"04",X"CF",X"24",X"48",X"24",X"00",X"50",X"0F",X"04",X"48", + X"24",X"00",X"50",X"F0",X"04",X"48",X"24",X"00",X"58",X"0F",X"01",X"48",X"24",X"00",X"58",X"F0", + X"01",X"C6",X"24",X"E5",X"24",X"11",X"FC",X"26",X"21",X"00",X"00",X"01",X"00",X"10",X"3A",X"00", + X"78",X"79",X"86",X"4F",X"2C",X"20",X"FA",X"24",X"10",X"F4",X"1A",X"B9",X"20",X"00",X"13",X"7B", + X"FE",X"FE",X"38",X"E7",X"01",X"00",X"08",X"28",X"E5",X"3E",X"18",X"32",X"02",X"52",X"3E",X"14", + X"18",X"03",X"7B",X"D6",X"FB",X"21",X"E2",X"51",X"77",X"06",X"18",X"21",X"A2",X"52",X"11",X"20", + X"00",X"36",X"16",X"19",X"70",X"19",X"36",X"1B",X"FE",X"14",X"C8",X"3A",X"00",X"78",X"3A",X"00", + X"60",X"CB",X"77",X"20",X"F6",X"C3",X"00",X"00",X"16",X"0F",X"E1",X"C1",X"5A",X"3A",X"00",X"78", + X"7B",X"0F",X"0F",X"0F",X"0F",X"83",X"80",X"A1",X"77",X"7B",X"87",X"87",X"83",X"3C",X"5F",X"2C", + X"20",X"EE",X"24",X"10",X"E8",X"3B",X"3B",X"3B",X"3B",X"E1",X"C1",X"5A",X"3A",X"00",X"78",X"7B", + X"0F",X"0F",X"0F",X"0F",X"83",X"80",X"AE",X"A1",X"20",X"17",X"7B",X"87",X"87",X"83",X"3C",X"5F", + X"2C",X"20",X"EC",X"24",X"10",X"E6",X"15",X"3B",X"3B",X"3B",X"3B",X"F2",X"4A",X"24",X"E1",X"C1", + X"C9",X"79",X"E6",X"01",X"4F",X"7C",X"0F",X"0F",X"E6",X"06",X"20",X"02",X"3E",X"02",X"93",X"FE", + X"03",X"38",X"17",X"4F",X"21",X"00",X"50",X"11",X"00",X"40",X"06",X"04",X"3A",X"00",X"78",X"1A", + X"77",X"1C",X"2C",X"20",X"FA",X"14",X"24",X"10",X"F3",X"79",X"21",X"E4",X"51",X"77",X"06",X"0A", + X"21",X"A4",X"52",X"C3",X"2E",X"24",X"3E",X"18",X"32",X"04",X"42",X"3E",X"14",X"18",X"D4",X"21", + X"00",X"40",X"11",X"00",X"50",X"01",X"00",X"04",X"3A",X"00",X"78",X"1A",X"77",X"23",X"13",X"0B", + X"79",X"B0",X"20",X"F4",X"C9",X"31",X"00",X"44",X"3A",X"00",X"78",X"21",X"00",X"58",X"01",X"00", + X"80",X"71",X"2C",X"10",X"FC",X"01",X"05",X"20",X"21",X"01",X"58",X"71",X"2C",X"2C",X"10",X"FB", + X"AF",X"32",X"04",X"70",X"01",X"00",X"28",X"3A",X"00",X"78",X"0D",X"20",X"FA",X"10",X"F8",X"3A", + X"00",X"78",X"3A",X"00",X"68",X"CB",X"6F",X"20",X"00",X"3E",X"01",X"32",X"04",X"70",X"01",X"00", + X"28",X"3A",X"00",X"78",X"0D",X"20",X"FA",X"10",X"F8",X"3A",X"00",X"78",X"3A",X"00",X"68",X"CB", + X"6F",X"28",X"00",X"3A",X"00",X"78",X"3A",X"00",X"68",X"CB",X"6F",X"20",X"00",X"3E",X"01",X"32", + X"00",X"60",X"32",X"01",X"60",X"32",X"02",X"60",X"32",X"04",X"43",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"AF",X"00",X"00",X"32",X"01",X"70",X"32",X"04",X"43",X"3D",X"C3",X"82",X"25",X"21", + X"00",X"50",X"01",X"00",X"04",X"36",X"F6",X"23",X"0B",X"79",X"B0",X"20",X"F8",X"01",X"00",X"00", + X"3A",X"00",X"78",X"0D",X"20",X"FA",X"10",X"F8",X"3A",X"00",X"78",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"31",X"86",X"25",X"C9",X"25",X"13",X"E0",X"13",X"CD",X"93",X"13",X"CD",X"9F",X"25", + X"CD",X"BF",X"25",X"CD",X"13",X"26",X"CD",X"45",X"26",X"CD",X"55",X"26",X"C3",X"1A",X"01",X"C9", + X"01",X"B2",X"25",X"CF",X"21",X"10",X"43",X"C3",X"7A",X"02",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"C9",X"3A",X"0B",X"43",X"21",X"14",X"43",X"34",X"96",X"C0",X"77",X"3C",X"C3",X"A0",X"02", + X"3E",X"08",X"D7",X"7E",X"2F",X"E6",X"01",X"32",X"03",X"60",X"35",X"C2",X"85",X"02",X"C9",X"7D", + X"FE",X"10",X"CA",X"C3",X"25",X"7E",X"2F",X"E6",X"01",X"32",X"04",X"68",X"35",X"C2",X"85",X"02", + X"C9",X"24",X"32",X"08",X"52",X"28",X"02",X"3E",X"1C",X"32",X"28",X"52",X"3A",X"0C",X"43",X"32", + X"E8",X"51",X"3D",X"3E",X"24",X"28",X"02",X"3E",X"1C",X"32",X"E8",X"50",X"F7",X"08",X"51",X"01", + X"07",X"1D",X"12",X"0D",X"0E",X"1B",X"0C",X"24",X"F7",X"48",X"52",X"01",X"05",X"17",X"12",X"18", + X"0C",X"24",X"C9",X"F7",X"2A",X"52",X"01",X"07",X"24",X"24",X"1C",X"1E",X"17",X"18",X"0B",X"3A", + X"0A",X"43",X"3C",X"28",X"13",X"F7",X"4A",X"51",X"01",X"05",X"24",X"24",X"00",X"00",X"00",X"21", + X"0A",X"52",X"11",X"0A",X"43",X"C3",X"BB",X"02",X"F7",X"4A",X"51",X"01",X"07",X"10",X"17",X"12", + X"11",X"1D",X"18",X"17",X"C9",X"F7",X"8C",X"52",X"01",X"04",X"10",X"17",X"12",X"14",X"3A",X"09", + X"43",X"32",X"EC",X"51",X"C9",X"3E",X"01",X"32",X"06",X"68",X"32",X"07",X"68",X"01",X"FF",X"0B", + X"DD",X"21",X"CD",X"26",X"21",X"00",X"41",X"E5",X"DD",X"7E",X"00",X"E6",X"F8",X"57",X"1E",X"00", + X"DD",X"7E",X"00",X"E6",X"07",X"3C",X"C5",X"47",X"1A",X"2F",X"0F",X"10",X"FD",X"C1",X"38",X"03", + X"DD",X"4E",X"01",X"7E",X"17",X"77",X"E6",X"0F",X"FE",X"0C",X"CC",X"BF",X"26",X"E1",X"2C",X"DD", + X"23",X"DD",X"23",X"10",X"D2",X"79",X"32",X"00",X"78",X"21",X"10",X"41",X"11",X"E3",X"26",X"06", + X"10",X"1A",X"FE",X"FF",X"28",X"02",X"BE",X"C0",X"13",X"2C",X"10",X"F5",X"F7",X"78",X"51",X"01", + X"0D",X"18",X"0C",X"16",X"0A",X"17",X"24",X"22",X"0B",X"24",X"0E",X"0D",X"0A",X"16",X"C9",X"C5", + X"06",X"10",X"21",X"10",X"41",X"7E",X"71",X"2C",X"4F",X"10",X"FA",X"C1",X"C9",X"A2",X"00",X"A3", + X"1C",X"A4",X"35",X"A8",X"40",X"A9",X"55",X"AA",X"67",X"AB",X"78",X"AC",X"7F",X"A7",X"8D",X"A0", + X"9A",X"A1",X"9F",X"55",X"55",X"55",X"40",X"35",X"1C",X"00",X"1C",X"1C",X"40",X"35",X"35",X"55", + 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"0C",X"B3",X"90",X"B1", + X"00",X"03",X"06",X"09",X"0C",X"10",X"13",X"16",X"19",X"1C",X"1F",X"22",X"25",X"28",X"2B",X"2E", + X"31",X"33",X"36",X"39",X"3C",X"3F",X"41",X"44",X"47",X"49",X"4C",X"4E",X"51",X"53",X"55",X"58", + X"5A",X"5C",X"5E",X"60",X"62",X"64",X"66",X"68",X"6A",X"6B",X"6D",X"6F",X"70",X"71",X"73",X"74", + X"75",X"76",X"78",X"79",X"7A",X"7A",X"7B",X"7C",X"7D",X"7D",X"7E",X"7E",X"7E",X"7F",X"7F",X"7F", + X"7F",X"7F",X"7F",X"7F",X"7E",X"7E",X"7E",X"7D",X"7D",X"7C",X"7B",X"7A",X"7A",X"79",X"78",X"76", + X"75",X"74",X"73",X"71",X"70",X"6F",X"6D",X"6B",X"6A",X"68",X"66",X"64",X"62",X"60",X"5E",X"5C", + X"5A",X"58",X"55",X"53",X"51",X"4E",X"4C",X"49",X"47",X"44",X"41",X"3F",X"3C",X"39",X"36",X"33", + X"31",X"2E",X"2B",X"28",X"25",X"22",X"1F",X"1C",X"19",X"16",X"13",X"10",X"0C",X"09",X"06",X"03", + X"00",X"FD",X"FA",X"F7",X"F4",X"F0",X"ED",X"EA",X"E7",X"E4",X"E1",X"DE",X"DB",X"D8",X"D5",X"D2", + X"CF",X"CD",X"CA",X"C7",X"C4",X"C1",X"BF",X"BC",X"B9",X"B7",X"B4",X"B2",X"AF",X"AD",X"AB",X"A8", + X"A6",X"A4",X"A2",X"A0",X"9E",X"9C",X"9A",X"98",X"96",X"95",X"93",X"91",X"90",X"8F",X"8D",X"8C", + X"8B",X"8A",X"88",X"87",X"86",X"86",X"85",X"84",X"83",X"83",X"82",X"82",X"82",X"81",X"81",X"81", + X"81",X"81",X"81",X"81",X"82",X"82",X"82",X"83",X"83",X"84",X"85",X"86",X"86",X"87",X"88",X"8A", + X"8B",X"8C",X"8D",X"8F",X"90",X"91",X"93",X"95",X"96",X"98",X"9A",X"9C",X"9E",X"A0",X"A2",X"A4", + X"A6",X"A8",X"AB",X"AD",X"AF",X"B2",X"B4",X"B7",X"B9",X"BC",X"BF",X"C1",X"C4",X"C7",X"CA",X"CD", + X"CF",X"D2",X"D5",X"D8",X"DB",X"DE",X"E1",X"E4",X"E7",X"EA",X"ED",X"F0",X"F4",X"F7",X"FA",X"FD", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/rom_h.vhd b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/rom_h.vhd new file mode 100644 index 00000000..a9b2202b --- /dev/null +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/rom_h.vhd @@ -0,0 +1,278 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity rom_h is +port ( + clk : in std_logic; + addr : in std_logic_vector(11 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of rom_h is + type rom is array(0 to 4095) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00", + X"62",X"F2",X"BA",X"9A",X"9E",X"CE",X"46",X"00",X"8C",X"DE",X"F2",X"B2",X"92",X"86",X"04",X"00", + X"08",X"FE",X"FE",X"C8",X"68",X"38",X"18",X"00",X"1C",X"BE",X"A2",X"A2",X"A2",X"E6",X"E4",X"00", + X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",X"C0",X"E0",X"B0",X"9E",X"8E",X"C0",X"C0",X"00", + X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",X"00", + X"3E",X"7E",X"C8",X"88",X"C8",X"7E",X"3E",X"00",X"6C",X"FE",X"92",X"92",X"92",X"FE",X"FE",X"00", + X"44",X"C6",X"82",X"82",X"C6",X"7C",X"38",X"00",X"38",X"7C",X"C6",X"82",X"82",X"FE",X"FE",X"00", + X"82",X"92",X"92",X"92",X"FE",X"FE",X"00",X"00",X"80",X"90",X"90",X"90",X"90",X"FE",X"FE",X"00", + X"9E",X"9E",X"92",X"82",X"C6",X"7C",X"38",X"00",X"FE",X"FE",X"10",X"10",X"10",X"FE",X"FE",X"00", + X"82",X"82",X"FE",X"FE",X"82",X"82",X"00",X"00",X"FC",X"FE",X"02",X"02",X"02",X"06",X"04",X"00", + X"82",X"C6",X"6E",X"3C",X"18",X"FE",X"FE",X"00",X"02",X"02",X"02",X"02",X"FE",X"FE",X"00",X"00", + X"FE",X"FE",X"70",X"38",X"70",X"FE",X"FE",X"00",X"FE",X"FE",X"1C",X"38",X"70",X"FE",X"FE",X"00", + X"7C",X"FE",X"82",X"82",X"82",X"FE",X"7C",X"00",X"70",X"F8",X"88",X"88",X"88",X"FE",X"FE",X"00", + X"7A",X"FC",X"8E",X"8A",X"82",X"FE",X"7C",X"00",X"72",X"F6",X"9E",X"8C",X"88",X"FE",X"FE",X"00", + X"0C",X"5E",X"D2",X"92",X"92",X"F6",X"64",X"00",X"80",X"80",X"FE",X"FE",X"80",X"80",X"00",X"00", + X"FC",X"FE",X"02",X"02",X"02",X"FE",X"FC",X"00",X"F0",X"F8",X"1C",X"0E",X"1C",X"F8",X"F0",X"00", + X"FE",X"FE",X"1C",X"38",X"1C",X"FE",X"FE",X"00",X"C6",X"EE",X"7C",X"38",X"7C",X"EE",X"C6",X"00", + X"E0",X"F0",X"1E",X"1E",X"F0",X"E0",X"00",X"00",X"C2",X"E2",X"F2",X"BA",X"9E",X"8E",X"86",X"00", + X"00",X"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"01",X"07",X"0F",X"1F",X"3F",X"3F",X"00",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80", + X"3F",X"3F",X"3F",X"1F",X"0F",X"07",X"01",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80",X"C0",X"00", + X"00",X"00",X"01",X"07",X"0F",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"0F",X"07",X"01",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"0F",X"0F",X"0F",X"0F",X"0F",X"07", + X"FF",X"FF",X"0F",X"0F",X"0F",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"07",X"07",X"07",X"0F",X"0F",X"0F",X"0F",X"0F", + X"FF",X"0F",X"0F",X"0F",X"FE",X"F8",X"E0",X"00",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"07",X"07", + X"00",X"E0",X"F8",X"FE",X"0F",X"0F",X"0F",X"FF",X"07",X"07",X"07",X"07",X"FF",X"FF",X"FF",X"FF", + X"07",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"07",X"FF",X"FF",X"0F",X"0F",X"0F",X"FF",X"FF",X"FF", + X"27",X"07",X"17",X"07",X"03",X"13",X"03",X"23",X"00",X"C0",X"E0",X"F0",X"38",X"02",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00", + X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00", + X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF", + X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF", + X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03", + X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03", + X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03", + X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",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"07",X"44",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"44", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"07",X"07",X"07",X"07",X"03",X"C3",X"53",X"FB",X"07",X"07",X"07",X"07",X"03",X"03",X"C3",X"53", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"C3",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"FF",X"44",X"07",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"44",X"07",X"00",X"00",X"00",X"00", + X"44",X"FF",X"FF",X"44",X"07",X"00",X"00",X"00",X"07",X"44",X"FF",X"FF",X"44",X"07",X"00",X"00", + X"00",X"07",X"44",X"FF",X"FF",X"44",X"07",X"00",X"00",X"00",X"07",X"44",X"FF",X"FF",X"44",X"07", + X"00",X"00",X"00",X"07",X"44",X"FF",X"FF",X"44",X"00",X"00",X"00",X"00",X"07",X"44",X"FF",X"FF", + X"FF",X"57",X"C7",X"07",X"03",X"03",X"03",X"03",X"FF",X"FF",X"57",X"C7",X"03",X"03",X"03",X"03", + X"57",X"FF",X"FF",X"57",X"C3",X"03",X"03",X"03",X"C7",X"57",X"FF",X"FF",X"53",X"C3",X"03",X"03", + X"07",X"C7",X"57",X"FF",X"FB",X"53",X"C3",X"03",X"07",X"07",X"C7",X"57",X"FB",X"FB",X"53",X"C3", + X"07",X"07",X"07",X"C7",X"53",X"FB",X"FB",X"53",X"07",X"07",X"07",X"07",X"C3",X"53",X"FB",X"FB", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"07",X"00",X"00",X"00",X"00",X"00",X"00", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"C7",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"47",X"C7",X"07",X"07",X"03",X"03",X"03",X"03", + X"03",X"00",X"00",X"08",X"00",X"28",X"44",X"40",X"00",X"82",X"04",X"01",X"92",X"00",X"20",X"04", + X"00",X"20",X"00",X"00",X"09",X"00",X"00",X"09",X"00",X"00",X"00",X"12",X"00",X"60",X"00",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"C3", + X"44",X"FF",X"00",X"00",X"00",X"00",X"FF",X"44",X"57",X"FF",X"07",X"07",X"03",X"03",X"FB",X"53", + X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C7",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"02",X"03",X"02",X"02",X"03",X"02",X"02",X"02",X"07",X"07",X"07",X"07",X"83",X"83",X"83",X"83", + X"03",X"02",X"03",X"02",X"02",X"03",X"02",X"03",X"87",X"07",X"07",X"07",X"03",X"03",X"03",X"83", + X"02",X"02",X"02",X"03",X"02",X"02",X"03",X"02",X"87",X"87",X"87",X"87",X"03",X"03",X"03",X"03", + X"00",X"00",X"00",X"03",X"07",X"0F",X"1F",X"1F",X"00",X"00",X"00",X"A0",X"D0",X"C8",X"C0",X"C0", + X"1F",X"0F",X"07",X"03",X"00",X"00",X"00",X"00",X"C0",X"C8",X"D0",X"A0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"07",X"0F",X"1F",X"3F",X"00",X"00",X"00",X"00",X"40",X"B0",X"80",X"80", + X"3F",X"3F",X"3F",X"1F",X"07",X"00",X"00",X"00",X"80",X"90",X"A0",X"C0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0E",X"1F",X"3F",X"7F",X"7F",X"00",X"00",X"00",X"80",X"40",X"20",X"00",X"00", + X"7F",X"3F",X"1F",X"0E",X"00",X"00",X"00",X"00",X"00",X"20",X"40",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"07",X"1F",X"3F",X"3F",X"3F",X"3F",X"00",X"00",X"00",X"C0",X"A0",X"90",X"80",X"80", + X"1F",X"0F",X"07",X"00",X"00",X"00",X"00",X"00",X"80",X"B0",X"40",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"06",X"05",X"02",X"00",X"00",X"00",X"00",X"00",X"80",X"40",X"90", + X"05",X"03",X"03",X"00",X"00",X"00",X"00",X"00",X"F0",X"40",X"A0",X"10",X"00",X"00",X"00",X"00", + X"00",X"02",X"01",X"04",X"02",X"02",X"20",X"12",X"00",X"00",X"20",X"40",X"18",X"98",X"24",X"40", + X"26",X"0B",X"01",X"02",X"02",X"04",X"00",X"00",X"40",X"20",X"90",X"C0",X"20",X"90",X"00",X"00", + X"00",X"7C",X"82",X"82",X"7C",X"00",X"7C",X"82",X"82",X"7C",X"00",X"62",X"92",X"8A",X"86",X"62", + X"82",X"7C",X"00",X"8C",X"D2",X"A2",X"82",X"84",X"82",X"7C",X"00",X"08",X"FE",X"48",X"28",X"18", + X"82",X"7C",X"00",X"9C",X"A2",X"A2",X"A2",X"E4",X"82",X"7C",X"00",X"0C",X"92",X"92",X"52",X"3C", + X"82",X"7C",X"00",X"C0",X"A0",X"90",X"8E",X"80",X"7C",X"82",X"82",X"7C",X"00",X"7C",X"82",X"82", + X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40", + 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"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40", + 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"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40", + 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"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40", + 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"3C",X"42",X"81",X"A5",X"A5",X"99",X"42",X"3C",X"C0",X"C0",X"C0",X"C0",X"FF",X"FF",X"00",X"00", + X"DB",X"DB",X"DF",X"1F",X"00",X"00",X"7F",X"FF",X"FF",X"00",X"00",X"7F",X"FF",X"DB",X"DB",X"DB", + X"FF",X"C0",X"C0",X"FF",X"FF",X"C0",X"C0",X"FF",X"C3",X"C3",X"C3",X"FF",X"7E",X"00",X"00",X"7F", + X"C3",X"FF",X"7E",X"00",X"00",X"C3",X"C3",X"C3",X"00",X"00",X"00",X"7E",X"FF",X"C3",X"C3",X"C3", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"06",X"06",X"0E",X"0E",X"0E", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"0E",X"06",X"06",X"02",X"00",X"00",X"00", + X"02",X"D9",X"D8",X"DA",X"D9",X"D8",X"D8",X"D8",X"00",X"00",X"80",X"40",X"20",X"80",X"60",X"00", + X"D8",X"D8",X"D9",X"DA",X"D8",X"D9",X"02",X"00",X"60",X"80",X"20",X"40",X"80",X"00",X"00",X"00", + X"00",X"00",X"03",X"0F",X"1C",X"30",X"40",X"0F",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00", + X"FF",X"0F",X"40",X"30",X"1C",X"0F",X"03",X"00",X"FE",X"02",X"06",X"00",X"00",X"00",X"80",X"00", + X"7C",X"00",X"7C",X"82",X"82",X"7C",X"00",X"FE",X"7C",X"00",X"9C",X"A2",X"A2",X"E4",X"00",X"FE", + X"08",X"08",X"08",X"FF",X"08",X"08",X"08",X"08",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"00", + X"00",X"00",X"00",X"06",X"36",X"36",X"76",X"76",X"00",X"00",X"80",X"40",X"20",X"10",X"00",X"00", + X"76",X"76",X"36",X"36",X"06",X"00",X"00",X"00",X"00",X"00",X"10",X"20",X"40",X"80",X"00",X"00", + X"00",X"00",X"01",X"07",X"0F",X"1F",X"3F",X"3F",X"00",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80", + X"3F",X"3F",X"3F",X"1F",X"0F",X"07",X"01",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80",X"C0",X"00", + X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00", + X"62",X"F2",X"BA",X"9A",X"9E",X"CE",X"46",X"00",X"8C",X"DE",X"F2",X"B2",X"92",X"86",X"04",X"00", + X"08",X"FE",X"FE",X"C8",X"68",X"38",X"18",X"00",X"1C",X"BE",X"A2",X"A2",X"A2",X"E6",X"E4",X"00", + X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",X"C0",X"E0",X"B0",X"9E",X"8E",X"C0",X"C0",X"00", + X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",X"00", + X"3E",X"7E",X"C8",X"88",X"C8",X"7E",X"3E",X"00",X"6C",X"FE",X"92",X"92",X"92",X"FE",X"FE",X"00", + X"44",X"C6",X"82",X"82",X"C6",X"7C",X"38",X"00",X"38",X"7C",X"C6",X"82",X"82",X"FE",X"FE",X"00", + X"82",X"92",X"92",X"92",X"FE",X"FE",X"00",X"00",X"80",X"90",X"90",X"90",X"90",X"FE",X"FE",X"00", + X"9E",X"9E",X"92",X"82",X"C6",X"7C",X"38",X"00",X"FE",X"FE",X"10",X"10",X"10",X"FE",X"FE",X"00", + X"82",X"82",X"FE",X"FE",X"82",X"82",X"00",X"00",X"FC",X"FE",X"02",X"02",X"02",X"06",X"04",X"00", + X"82",X"C6",X"6E",X"3C",X"18",X"FE",X"FE",X"00",X"02",X"02",X"02",X"02",X"FE",X"FE",X"00",X"00", + X"FE",X"FE",X"70",X"38",X"70",X"FE",X"FE",X"00",X"FE",X"FE",X"1C",X"38",X"70",X"FE",X"FE",X"00", + X"7C",X"FE",X"82",X"82",X"82",X"FE",X"7C",X"00",X"70",X"F8",X"88",X"88",X"88",X"FE",X"FE",X"00", + X"7A",X"FC",X"8E",X"8A",X"82",X"FE",X"7C",X"00",X"72",X"F6",X"9E",X"8C",X"88",X"FE",X"FE",X"00", + X"0C",X"5E",X"D2",X"92",X"92",X"F6",X"64",X"00",X"80",X"80",X"FE",X"FE",X"80",X"80",X"00",X"00", + X"FC",X"FE",X"02",X"02",X"02",X"FE",X"FC",X"00",X"F0",X"F8",X"1C",X"0E",X"1C",X"F8",X"F0",X"00", + X"FE",X"FE",X"1C",X"38",X"1C",X"FE",X"FE",X"00",X"C6",X"EE",X"7C",X"38",X"7C",X"EE",X"C6",X"00", + X"E0",X"F0",X"1E",X"1E",X"F0",X"E0",X"00",X"00",X"C2",X"E2",X"F2",X"BA",X"9E",X"8E",X"86",X"00", + X"00",X"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"01",X"07",X"0F",X"1F",X"3F",X"3F",X"00",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80", + X"3F",X"3F",X"3F",X"1F",X"0F",X"07",X"01",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80",X"C0",X"00", + X"00",X"00",X"01",X"07",X"0F",X"1F",X"3F",X"3F",X"3F",X"3F",X"3F",X"1F",X"0F",X"07",X"01",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"0F",X"0F",X"0F",X"0F",X"0F",X"07", + X"FF",X"FF",X"0F",X"0F",X"0F",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"07",X"07",X"07",X"0F",X"0F",X"0F",X"0F",X"0F", + X"FF",X"0F",X"0F",X"0F",X"FE",X"F8",X"E0",X"00",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"07",X"07", + X"00",X"E0",X"F8",X"FE",X"0F",X"0F",X"0F",X"FF",X"07",X"07",X"07",X"07",X"FF",X"FF",X"FF",X"FF", + X"07",X"0F",X"0F",X"0F",X"0F",X"0F",X"07",X"07",X"FF",X"FF",X"0F",X"0F",X"0F",X"FF",X"FF",X"FF", + X"27",X"07",X"17",X"07",X"03",X"13",X"03",X"23",X"00",X"C0",X"E0",X"F0",X"38",X"02",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00", + X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"00",X"01",X"00",X"00",X"00",X"00",X"00",X"00", + X"02",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF", + X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF", + X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03", + X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03", + X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03", + X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",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"07",X"44",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"44", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"07",X"07",X"07",X"07",X"03",X"C3",X"53",X"FB",X"07",X"07",X"07",X"07",X"03",X"03",X"C3",X"53", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"C3",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"FF",X"44",X"07",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"44",X"07",X"00",X"00",X"00",X"00", + X"44",X"FF",X"FF",X"44",X"07",X"00",X"00",X"00",X"07",X"44",X"FF",X"FF",X"44",X"07",X"00",X"00", + X"00",X"07",X"44",X"FF",X"FF",X"44",X"07",X"00",X"00",X"00",X"07",X"44",X"FF",X"FF",X"44",X"07", + X"00",X"00",X"00",X"07",X"44",X"FF",X"FF",X"44",X"00",X"00",X"00",X"00",X"07",X"44",X"FF",X"FF", + X"FF",X"57",X"C7",X"07",X"03",X"03",X"03",X"03",X"FF",X"FF",X"57",X"C7",X"03",X"03",X"03",X"03", + X"57",X"FF",X"FF",X"57",X"C3",X"03",X"03",X"03",X"C7",X"57",X"FF",X"FF",X"53",X"C3",X"03",X"03", + X"07",X"C7",X"57",X"FF",X"FB",X"53",X"C3",X"03",X"07",X"07",X"C7",X"57",X"FB",X"FB",X"53",X"C3", + X"07",X"07",X"07",X"C7",X"53",X"FB",X"FB",X"53",X"07",X"07",X"07",X"07",X"C3",X"53",X"FB",X"FB", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"44",X"07",X"00",X"00",X"00",X"00",X"00",X"00", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"C7",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"47",X"C7",X"07",X"07",X"03",X"03",X"03",X"03", + X"03",X"00",X"00",X"08",X"00",X"28",X"44",X"40",X"00",X"82",X"04",X"01",X"92",X"00",X"20",X"04", + X"00",X"20",X"00",X"00",X"09",X"00",X"00",X"09",X"00",X"00",X"00",X"12",X"00",X"60",X"00",X"10", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"C3", + X"44",X"FF",X"00",X"00",X"00",X"00",X"FF",X"44",X"57",X"FF",X"07",X"07",X"03",X"03",X"FB",X"53", + X"07",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"C7",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"02",X"03",X"02",X"02",X"03",X"02",X"02",X"02",X"07",X"07",X"07",X"07",X"83",X"83",X"83",X"83", + X"03",X"02",X"03",X"02",X"02",X"03",X"02",X"03",X"87",X"07",X"07",X"07",X"03",X"03",X"03",X"83", + X"02",X"02",X"02",X"03",X"02",X"02",X"03",X"02",X"87",X"87",X"87",X"87",X"03",X"03",X"03",X"03", + X"00",X"00",X"00",X"03",X"07",X"0F",X"1F",X"1F",X"00",X"00",X"00",X"A0",X"D0",X"C8",X"C0",X"C0", + X"1F",X"0F",X"07",X"03",X"00",X"00",X"00",X"00",X"C0",X"C8",X"D0",X"A0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"07",X"0F",X"1F",X"3F",X"00",X"00",X"00",X"00",X"40",X"B0",X"80",X"80", + X"3F",X"3F",X"3F",X"1F",X"07",X"00",X"00",X"00",X"80",X"90",X"A0",X"C0",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0E",X"1F",X"3F",X"7F",X"7F",X"00",X"00",X"00",X"80",X"40",X"20",X"00",X"00", + X"7F",X"3F",X"1F",X"0E",X"00",X"00",X"00",X"00",X"00",X"20",X"40",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"07",X"1F",X"3F",X"3F",X"3F",X"3F",X"00",X"00",X"00",X"C0",X"A0",X"90",X"80",X"80", + X"1F",X"0F",X"07",X"00",X"00",X"00",X"00",X"00",X"80",X"B0",X"40",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"06",X"05",X"02",X"00",X"00",X"00",X"00",X"00",X"80",X"40",X"90", + X"05",X"03",X"03",X"00",X"00",X"00",X"00",X"00",X"F0",X"40",X"A0",X"10",X"00",X"00",X"00",X"00", + X"00",X"02",X"01",X"04",X"02",X"02",X"20",X"12",X"00",X"00",X"20",X"40",X"18",X"98",X"24",X"40", + X"26",X"0B",X"01",X"02",X"02",X"04",X"00",X"00",X"40",X"20",X"90",X"C0",X"20",X"90",X"00",X"00", + X"00",X"7C",X"82",X"82",X"7C",X"00",X"7C",X"82",X"82",X"7C",X"00",X"62",X"92",X"8A",X"86",X"62", + X"82",X"7C",X"00",X"8C",X"D2",X"A2",X"82",X"84",X"82",X"7C",X"00",X"08",X"FE",X"48",X"28",X"18", + X"82",X"7C",X"00",X"9C",X"A2",X"A2",X"A2",X"E4",X"82",X"7C",X"00",X"0C",X"92",X"92",X"52",X"3C", + X"82",X"7C",X"00",X"C0",X"A0",X"90",X"8E",X"80",X"7C",X"82",X"82",X"7C",X"00",X"7C",X"82",X"82", + X"00",X"00",X"00",X"00",X"00",X"00",X"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40", + 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"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40", + 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"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40", + 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"10",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"40", + 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"3C",X"42",X"81",X"A5",X"A5",X"99",X"42",X"3C",X"C0",X"C0",X"C0",X"C0",X"FF",X"FF",X"00",X"00", + X"DB",X"DB",X"DF",X"1F",X"00",X"00",X"7F",X"FF",X"FF",X"00",X"00",X"7F",X"FF",X"DB",X"DB",X"DB", + X"FF",X"C0",X"C0",X"FF",X"FF",X"C0",X"C0",X"FF",X"C3",X"C3",X"C3",X"FF",X"7E",X"00",X"00",X"7F", + X"C3",X"FF",X"7E",X"00",X"00",X"C3",X"C3",X"C3",X"00",X"00",X"00",X"7E",X"FF",X"C3",X"C3",X"C3", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"02",X"06",X"06",X"0E",X"0E",X"0E", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0E",X"0E",X"06",X"06",X"02",X"00",X"00",X"00", + X"02",X"D9",X"D8",X"DA",X"D9",X"D8",X"D8",X"D8",X"00",X"00",X"80",X"40",X"20",X"80",X"60",X"00", + X"D8",X"D8",X"D9",X"DA",X"D8",X"D9",X"02",X"00",X"60",X"80",X"20",X"40",X"80",X"00",X"00",X"00", + X"00",X"00",X"03",X"0F",X"1C",X"30",X"40",X"0F",X"00",X"00",X"80",X"00",X"00",X"00",X"00",X"00", + X"FF",X"0F",X"40",X"30",X"1C",X"0F",X"03",X"00",X"FE",X"02",X"06",X"00",X"00",X"00",X"80",X"00", + X"7C",X"00",X"7C",X"82",X"82",X"7C",X"00",X"FE",X"7C",X"00",X"9C",X"A2",X"A2",X"E4",X"00",X"FE", + X"08",X"08",X"08",X"FF",X"08",X"08",X"08",X"08",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"00", + X"00",X"00",X"00",X"06",X"36",X"36",X"76",X"76",X"00",X"00",X"80",X"40",X"20",X"10",X"00",X"00", + X"76",X"76",X"36",X"36",X"06",X"00",X"00",X"00",X"00",X"00",X"10",X"20",X"40",X"80",X"00",X"00", + X"00",X"00",X"01",X"07",X"0F",X"1F",X"3F",X"3F",X"00",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80", + X"3F",X"3F",X"3F",X"1F",X"0F",X"07",X"01",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80",X"C0",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/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/rom_k.vhd b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/rom_k.vhd new file mode 100644 index 00000000..b6a9c509 --- /dev/null +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/rom_k.vhd @@ -0,0 +1,278 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity rom_k is +port ( + clk : in std_logic; + addr : in std_logic_vector(11 downto 0); + data : out std_logic_vector(7 downto 0) +); +end entity; + +architecture prom of rom_k is + type rom is array(0 to 4095) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00", + X"62",X"F2",X"BA",X"9A",X"9E",X"CE",X"46",X"00",X"8C",X"DE",X"F2",X"B2",X"92",X"86",X"04",X"00", + X"08",X"FE",X"FE",X"C8",X"68",X"38",X"18",X"00",X"1C",X"BE",X"A2",X"A2",X"A2",X"E6",X"E4",X"00", + X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",X"C0",X"E0",X"B0",X"9E",X"8E",X"C0",X"C0",X"00", + X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",X"00", + X"3E",X"7E",X"C8",X"88",X"C8",X"7E",X"3E",X"00",X"6C",X"FE",X"92",X"92",X"92",X"FE",X"FE",X"00", + X"44",X"C6",X"82",X"82",X"C6",X"7C",X"38",X"00",X"38",X"7C",X"C6",X"82",X"82",X"FE",X"FE",X"00", + X"82",X"92",X"92",X"92",X"FE",X"FE",X"00",X"00",X"80",X"90",X"90",X"90",X"90",X"FE",X"FE",X"00", + X"9E",X"9E",X"92",X"82",X"C6",X"7C",X"38",X"00",X"FE",X"FE",X"10",X"10",X"10",X"FE",X"FE",X"00", + X"82",X"82",X"FE",X"FE",X"82",X"82",X"00",X"00",X"FC",X"FE",X"02",X"02",X"02",X"06",X"04",X"00", + X"82",X"C6",X"6E",X"3C",X"18",X"FE",X"FE",X"00",X"02",X"02",X"02",X"02",X"FE",X"FE",X"00",X"00", + X"FE",X"FE",X"70",X"38",X"70",X"FE",X"FE",X"00",X"FE",X"FE",X"1C",X"38",X"70",X"FE",X"FE",X"00", + X"7C",X"FE",X"82",X"82",X"82",X"FE",X"7C",X"00",X"70",X"F8",X"88",X"88",X"88",X"FE",X"FE",X"00", + X"7A",X"FC",X"8E",X"8A",X"82",X"FE",X"7C",X"00",X"72",X"F6",X"9E",X"8C",X"88",X"FE",X"FE",X"00", + X"0C",X"5E",X"D2",X"92",X"92",X"F6",X"64",X"00",X"80",X"80",X"FE",X"FE",X"80",X"80",X"00",X"00", + X"FC",X"FE",X"02",X"02",X"02",X"FE",X"FC",X"00",X"F0",X"F8",X"1C",X"0E",X"1C",X"F8",X"F0",X"00", + X"FE",X"FE",X"1C",X"38",X"1C",X"FE",X"FE",X"00",X"C6",X"EE",X"7C",X"38",X"7C",X"EE",X"C6",X"00", + X"E0",X"F0",X"1E",X"1E",X"F0",X"E0",X"00",X"00",X"C2",X"E2",X"F2",X"BA",X"9E",X"8E",X"86",X"00", + X"00",X"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"01",X"07",X"0F",X"1F",X"28",X"28",X"00",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80", + X"EA",X"22",X"22",X"1F",X"0F",X"07",X"01",X"00",X"FF",X"81",X"83",X"C0",X"80",X"80",X"C0",X"00", + X"00",X"00",X"01",X"07",X"0F",X"11",X"2E",X"2E",X"F1",X"3F",X"20",X"1F",X"0F",X"07",X"01",X"00", + X"00",X"00",X"01",X"00",X"04",X"03",X"01",X"07",X"00",X"C0",X"FE",X"06",X"7E",X"0E",X"5E",X"1E", + X"01",X"03",X"04",X"00",X"01",X"00",X"00",X"00",X"5E",X"0E",X"7E",X"06",X"FE",X"C0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF", + X"00",X"00",X"01",X"07",X"1F",X"FF",X"FF",X"FF",X"00",X"E0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"F3",X"E3",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"F8", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"1F",X"07",X"01",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"F8",X"F0",X"E0",X"00",X"00", + X"F3",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"F8",X"F8",X"F8",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F8",X"F8",X"F8", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"07",X"07",X"FF",X"FF",X"FF",X"FF", + X"F8",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"27",X"07",X"17",X"07",X"03",X"13",X"03",X"23",X"00",X"C0",X"E0",X"F0",X"38",X"02",X"00",X"00", + X"00",X"00",X"03",X"01",X"00",X"11",X"0C",X"04",X"00",X"00",X"FD",X"8D",X"1D",X"FD",X"3D",X"78", + X"03",X"03",X"0F",X"8F",X"C7",X"E7",X"FF",X"FF",X"1C",X"04",X"0C",X"11",X"00",X"01",X"03",X"00", + X"78",X"78",X"3D",X"FD",X"1D",X"8D",X"FD",X"00",X"E3",X"FF",X"FF",X"E7",X"C7",X"8F",X"0F",X"03", + X"00",X"01",X"03",X"00",X"00",X"11",X"0C",X"04",X"00",X"81",X"FD",X"0D",X"1D",X"FD",X"3D",X"78", + X"03",X"0F",X"8F",X"C7",X"E7",X"FF",X"FF",X"E3",X"1C",X"04",X"0C",X"11",X"00",X"00",X"03",X"01", + X"78",X"78",X"3D",X"FD",X"1D",X"0D",X"FD",X"81",X"E3",X"E3",X"FF",X"FF",X"E7",X"C7",X"8F",X"0F", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF", + X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF", + X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03", + X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03", + X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03", + X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"3B",X"3B",X"3B",X"11",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",X"00",X"00", + X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11", + X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3B",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"EF",X"C7",X"FF",X"0B",X"03",X"03",X"03",X"07",X"3F",X"EF",X"C7",X"FB",X"0B",X"03",X"03", + X"07",X"07",X"3F",X"EF",X"C3",X"FB",X"0B",X"03",X"07",X"07",X"07",X"3F",X"EB",X"C3",X"FB",X"0B", + X"07",X"07",X"07",X"07",X"03",X"C3",X"FB",X"CB",X"07",X"07",X"07",X"07",X"03",X"03",X"C3",X"FB", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"C3",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"00",X"00",X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"3B",X"3B", + X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"3B", + X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"11",X"00",X"00",X"00",X"00",X"00",X"00", + X"3B",X"3B",X"11",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",X"00",X"00",X"00",X"00", + X"07",X"07",X"07",X"07",X"CB",X"FB",X"C3",X"03",X"07",X"07",X"07",X"07",X"03",X"CB",X"FB",X"C3", + X"07",X"07",X"07",X"07",X"03",X"03",X"CB",X"FB",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"CB", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"0B",X"CF",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"FF",X"CF",X"07",X"07",X"03",X"03",X"03",X"03",X"C7",X"FF",X"C7",X"07",X"03",X"03",X"03",X"03", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3B",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"00", + X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00", + X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"C7",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"FF",X"C7",X"07",X"07",X"03",X"03",X"03",X"03", + X"FF",X"C7",X"EF",X"3F",X"03",X"03",X"03",X"03",X"0F",X"FF",X"C7",X"EF",X"3B",X"03",X"03",X"03", + X"07",X"0F",X"FF",X"C7",X"EB",X"3B",X"03",X"03",X"07",X"07",X"0F",X"FF",X"C3",X"EB",X"3B",X"03", + X"03",X"28",X"02",X"48",X"00",X"20",X"44",X"40",X"00",X"92",X"04",X"21",X"02",X"02",X"20",X"04", + X"00",X"22",X"00",X"20",X"08",X"00",X"44",X"09",X"00",X"14",X"00",X"02",X"00",X"64",X"02",X"10", + X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",X"00",X"07",X"07",X"07",X"C7",X"FB",X"CB",X"03",X"03", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"07",X"07",X"CF",X"FF",X"C3",X"03",X"03",X"03", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"3F",X"7F",X"3F",X"03",X"3B",X"7B",X"3B", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"17",X"17",X"37",X"33",X"13",X"13",X"3B", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"7F",X"3F",X"07",X"3B",X"7B",X"3B",X"03", + X"00",X"00",X"00",X"03",X"07",X"0F",X"1F",X"1F",X"00",X"00",X"00",X"80",X"C0",X"C0",X"C7",X"C7", + X"1F",X"0F",X"07",X"03",X"00",X"00",X"00",X"00",X"C7",X"C0",X"C0",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"07",X"0F",X"1F",X"3F",X"00",X"00",X"00",X"00",X"00",X"80",X"8E",X"8E", + X"3F",X"3F",X"3F",X"1F",X"07",X"00",X"00",X"00",X"8E",X"80",X"80",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0E",X"1F",X"3F",X"7F",X"7F",X"00",X"00",X"00",X"00",X"00",X"00",X"1C",X"1C", + X"7F",X"3F",X"1F",X"0E",X"00",X"00",X"00",X"00",X"1C",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"07",X"1F",X"3F",X"3F",X"3F",X"3F",X"00",X"00",X"00",X"80",X"80",X"80",X"8E",X"8E", + X"1F",X"0F",X"07",X"00",X"00",X"00",X"00",X"00",X"8E",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"02",X"0E",X"01",X"02",X"00",X"00",X"00",X"00",X"50",X"20",X"40",X"B0", + X"07",X"0B",X"02",X"0A",X"00",X"00",X"00",X"00",X"D8",X"90",X"A0",X"50",X"20",X"00",X"00",X"00", + X"00",X"02",X"01",X"05",X"13",X"42",X"35",X"12",X"00",X"00",X"20",X"44",X"14",X"88",X"24",X"D8", + X"24",X"03",X"05",X"02",X"0A",X"04",X"00",X"00",X"42",X"E4",X"98",X"B0",X"08",X"D4",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"1F",X"C3",X"47",X"C7",X"80",X"C3",X"A3",X"B1",X"B9",X"BF",X"1F",X"18", + X"47",X"C3",X"1F",X"01",X"00",X"00",X"00",X"00",X"1F",X"BF",X"B9",X"B1",X"A3",X"C3",X"80",X"00", + X"00",X"18",X"3F",X"01",X"1F",X"C3",X"47",X"C7",X"00",X"03",X"A3",X"B1",X"B9",X"BF",X"1F",X"18", + X"47",X"C3",X"1F",X"01",X"3F",X"18",X"00",X"00",X"1F",X"BF",X"B9",X"B1",X"A3",X"03",X"00",X"00", + X"00",X"00",X"00",X"01",X"1F",X"C3",X"47",X"C7",X"83",X"C3",X"A1",X"B1",X"BB",X"BF",X"1E",X"18", + X"47",X"C3",X"1F",X"03",X"FF",X"00",X"00",X"00",X"1E",X"BF",X"BB",X"B1",X"A1",X"03",X"03",X"00", + X"00",X"30",X"7F",X"01",X"1F",X"C3",X"47",X"C7",X"00",X"03",X"A3",X"B1",X"B9",X"BF",X"1F",X"18", + X"47",X"C3",X"1F",X"03",X"FF",X"00",X"00",X"00",X"1F",X"BF",X"B9",X"B1",X"A3",X"03",X"00",X"00", + X"3C",X"42",X"81",X"A5",X"A5",X"99",X"42",X"3C",X"C0",X"C0",X"C0",X"C0",X"FF",X"FF",X"00",X"00", + X"DB",X"DB",X"DF",X"1F",X"00",X"00",X"7F",X"FF",X"FF",X"00",X"00",X"7F",X"FF",X"DB",X"DB",X"DB", + X"FF",X"C0",X"C0",X"FF",X"FF",X"C0",X"C0",X"FF",X"C3",X"C3",X"C3",X"FF",X"7E",X"00",X"00",X"7F", + X"C3",X"FF",X"7E",X"00",X"00",X"C3",X"C3",X"C3",X"00",X"00",X"00",X"7E",X"FF",X"C3",X"C3",X"C3", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"07",X"0F",X"0F",X"1F",X"1F",X"1F", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"1F",X"0F",X"0F",X"07",X"03",X"00",X"00", + X"F8",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"00",X"00",X"00",X"00",X"00",X"1F",X"1F",X"1F", + X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"F8",X"00",X"1F",X"1F",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"03",X"0F",X"1F",X"3F",X"7F",X"7F",X"00",X"00",X"80",X"00",X"00",X"80",X"00",X"00", + X"7F",X"7F",X"7F",X"3F",X"1F",X"0F",X"03",X"00",X"80",X"00",X"00",X"83",X"07",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"08",X"08",X"08",X"FF",X"08",X"08",X"08",X"08",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"00", + X"00",X"00",X"0E",X"3F",X"7F",X"7F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"0F", + X"FF",X"FF",X"7F",X"7F",X"3F",X"0E",X"00",X"00",X"0F",X"0F",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"01",X"07",X"0E",X"18",X"20",X"07",X"00",X"00",X"C0",X"80",X"00",X"00",X"00",X"80", + X"FF",X"07",X"20",X"18",X"0E",X"07",X"01",X"00",X"FF",X"81",X"03",X"00",X"00",X"80",X"C0",X"00", + X"38",X"7C",X"C2",X"82",X"86",X"7C",X"38",X"00",X"02",X"02",X"FE",X"FE",X"42",X"02",X"00",X"00", + X"62",X"F2",X"BA",X"9A",X"9E",X"CE",X"46",X"00",X"8C",X"DE",X"F2",X"B2",X"92",X"86",X"04",X"00", + X"08",X"FE",X"FE",X"C8",X"68",X"38",X"18",X"00",X"1C",X"BE",X"A2",X"A2",X"A2",X"E6",X"E4",X"00", + X"0C",X"9E",X"92",X"92",X"D2",X"7E",X"3C",X"00",X"C0",X"E0",X"B0",X"9E",X"8E",X"C0",X"C0",X"00", + X"0C",X"6E",X"9A",X"9A",X"B2",X"F2",X"6C",X"00",X"78",X"FC",X"96",X"92",X"92",X"F2",X"60",X"00", + X"3E",X"7E",X"C8",X"88",X"C8",X"7E",X"3E",X"00",X"6C",X"FE",X"92",X"92",X"92",X"FE",X"FE",X"00", + X"44",X"C6",X"82",X"82",X"C6",X"7C",X"38",X"00",X"38",X"7C",X"C6",X"82",X"82",X"FE",X"FE",X"00", + X"82",X"92",X"92",X"92",X"FE",X"FE",X"00",X"00",X"80",X"90",X"90",X"90",X"90",X"FE",X"FE",X"00", + X"9E",X"9E",X"92",X"82",X"C6",X"7C",X"38",X"00",X"FE",X"FE",X"10",X"10",X"10",X"FE",X"FE",X"00", + X"82",X"82",X"FE",X"FE",X"82",X"82",X"00",X"00",X"FC",X"FE",X"02",X"02",X"02",X"06",X"04",X"00", + X"82",X"C6",X"6E",X"3C",X"18",X"FE",X"FE",X"00",X"02",X"02",X"02",X"02",X"FE",X"FE",X"00",X"00", + X"FE",X"FE",X"70",X"38",X"70",X"FE",X"FE",X"00",X"FE",X"FE",X"1C",X"38",X"70",X"FE",X"FE",X"00", + X"7C",X"FE",X"82",X"82",X"82",X"FE",X"7C",X"00",X"70",X"F8",X"88",X"88",X"88",X"FE",X"FE",X"00", + X"7A",X"FC",X"8E",X"8A",X"82",X"FE",X"7C",X"00",X"72",X"F6",X"9E",X"8C",X"88",X"FE",X"FE",X"00", + X"0C",X"5E",X"D2",X"92",X"92",X"F6",X"64",X"00",X"80",X"80",X"FE",X"FE",X"80",X"80",X"00",X"00", + X"FC",X"FE",X"02",X"02",X"02",X"FE",X"FC",X"00",X"F0",X"F8",X"1C",X"0E",X"1C",X"F8",X"F0",X"00", + X"FE",X"FE",X"1C",X"38",X"1C",X"FE",X"FE",X"00",X"C6",X"EE",X"7C",X"38",X"7C",X"EE",X"C6",X"00", + X"E0",X"F0",X"1E",X"1E",X"F0",X"E0",X"00",X"00",X"C2",X"E2",X"F2",X"BA",X"9E",X"8E",X"86",X"00", + X"00",X"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"01",X"07",X"0F",X"1F",X"28",X"28",X"00",X"00",X"C0",X"80",X"80",X"C0",X"80",X"80", + X"EA",X"22",X"22",X"1F",X"0F",X"07",X"01",X"00",X"FF",X"81",X"83",X"C0",X"80",X"80",X"C0",X"00", + X"00",X"00",X"01",X"07",X"0F",X"11",X"2E",X"2E",X"F1",X"3F",X"20",X"1F",X"0F",X"07",X"01",X"00", + X"00",X"00",X"01",X"00",X"04",X"03",X"01",X"07",X"00",X"C0",X"FE",X"06",X"7E",X"0E",X"5E",X"1E", + X"01",X"03",X"04",X"00",X"01",X"00",X"00",X"00",X"5E",X"0E",X"7E",X"06",X"FE",X"C0",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"FF", + X"00",X"00",X"01",X"07",X"1F",X"FF",X"FF",X"FF",X"00",X"E0",X"F0",X"F8",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"FF",X"FF",X"F3",X"E3",X"00",X"00",X"00",X"00",X"F0",X"F0",X"F0",X"F8", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"1F",X"07",X"01",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"F8",X"F0",X"E0",X"00",X"00", + X"F3",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"F8",X"F8",X"F8",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"F0",X"F8",X"F8",X"F8", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"07",X"07",X"FF",X"FF",X"FF",X"FF", + X"F8",X"F0",X"F0",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"27",X"07",X"17",X"07",X"03",X"13",X"03",X"23",X"00",X"C0",X"E0",X"F0",X"38",X"02",X"00",X"00", + X"00",X"00",X"03",X"01",X"00",X"11",X"0C",X"04",X"00",X"00",X"FD",X"8D",X"1D",X"FD",X"3D",X"78", + X"03",X"03",X"0F",X"8F",X"C7",X"E7",X"FF",X"FF",X"1C",X"04",X"0C",X"11",X"00",X"01",X"03",X"00", + X"78",X"78",X"3D",X"FD",X"1D",X"8D",X"FD",X"00",X"E3",X"FF",X"FF",X"E7",X"C7",X"8F",X"0F",X"03", + X"00",X"01",X"03",X"00",X"00",X"11",X"0C",X"04",X"00",X"81",X"FD",X"0D",X"1D",X"FD",X"3D",X"78", + X"03",X"0F",X"8F",X"C7",X"E7",X"FF",X"FF",X"E3",X"1C",X"04",X"0C",X"11",X"00",X"00",X"03",X"01", + X"78",X"78",X"3D",X"FD",X"1D",X"0D",X"FD",X"81",X"E3",X"E3",X"FF",X"FF",X"E7",X"C7",X"8F",X"0F", + X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"00", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"00",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF", + X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF", + X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"03", + X"FF",X"03",X"03",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"03", + X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"03", + X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"03", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"03",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"00",X"3B",X"3B",X"3B",X"11",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",X"00",X"00", + X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11", + X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3B",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3F",X"EF",X"C7",X"FF",X"0B",X"03",X"03",X"03",X"07",X"3F",X"EF",X"C7",X"FB",X"0B",X"03",X"03", + X"07",X"07",X"3F",X"EF",X"C3",X"FB",X"0B",X"03",X"07",X"07",X"07",X"3F",X"EB",X"C3",X"FB",X"0B", + X"07",X"07",X"07",X"07",X"03",X"C3",X"FB",X"CB",X"07",X"07",X"07",X"07",X"03",X"03",X"C3",X"FB", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"C3",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"00",X"00",X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"3B",X"3B", + X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"3B", + X"11",X"00",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"11",X"00",X"00",X"00",X"00",X"00",X"00", + X"3B",X"3B",X"11",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",X"00",X"00",X"00",X"00", + X"07",X"07",X"07",X"07",X"CB",X"FB",X"C3",X"03",X"07",X"07",X"07",X"07",X"03",X"CB",X"FB",X"C3", + X"07",X"07",X"07",X"07",X"03",X"03",X"CB",X"FB",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"CB", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"0B",X"CF",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"FF",X"CF",X"07",X"07",X"03",X"03",X"03",X"03",X"C7",X"FF",X"C7",X"07",X"03",X"03",X"03",X"03", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"3B",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"00", + X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00", + X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"00",X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00", + X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"C7",X"07",X"07",X"07",X"03",X"03",X"03",X"03",X"FF",X"C7",X"07",X"07",X"03",X"03",X"03",X"03", + X"FF",X"C7",X"EF",X"3F",X"03",X"03",X"03",X"03",X"0F",X"FF",X"C7",X"EF",X"3B",X"03",X"03",X"03", + X"07",X"0F",X"FF",X"C7",X"EB",X"3B",X"03",X"03",X"07",X"07",X"0F",X"FF",X"C3",X"EB",X"3B",X"03", + X"03",X"28",X"02",X"48",X"00",X"20",X"44",X"40",X"00",X"92",X"04",X"21",X"02",X"02",X"20",X"04", + X"00",X"22",X"00",X"20",X"08",X"00",X"44",X"09",X"00",X"14",X"00",X"02",X"00",X"64",X"02",X"10", + X"00",X"00",X"00",X"3B",X"3B",X"3B",X"11",X"00",X"07",X"07",X"07",X"C7",X"FB",X"CB",X"03",X"03", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"07",X"07",X"07",X"03",X"03",X"03",X"03", + X"00",X"11",X"3B",X"3B",X"3B",X"00",X"00",X"00",X"07",X"07",X"CF",X"FF",X"C3",X"03",X"03",X"03", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"07",X"3F",X"7F",X"3F",X"03",X"3B",X"7B",X"3B", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"17",X"17",X"37",X"33",X"13",X"13",X"3B", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"3F",X"7F",X"3F",X"07",X"3B",X"7B",X"3B",X"03", + X"00",X"00",X"00",X"03",X"07",X"0F",X"1F",X"1F",X"00",X"00",X"00",X"80",X"C0",X"C0",X"C7",X"C7", + X"1F",X"0F",X"07",X"03",X"00",X"00",X"00",X"00",X"C7",X"C0",X"C0",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"07",X"0F",X"1F",X"3F",X"00",X"00",X"00",X"00",X"00",X"80",X"8E",X"8E", + X"3F",X"3F",X"3F",X"1F",X"07",X"00",X"00",X"00",X"8E",X"80",X"80",X"80",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"0E",X"1F",X"3F",X"7F",X"7F",X"00",X"00",X"00",X"00",X"00",X"00",X"1C",X"1C", + X"7F",X"3F",X"1F",X"0E",X"00",X"00",X"00",X"00",X"1C",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"07",X"1F",X"3F",X"3F",X"3F",X"3F",X"00",X"00",X"00",X"80",X"80",X"80",X"8E",X"8E", + X"1F",X"0F",X"07",X"00",X"00",X"00",X"00",X"00",X"8E",X"80",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"02",X"0E",X"01",X"02",X"00",X"00",X"00",X"00",X"50",X"20",X"40",X"B0", + X"07",X"0B",X"02",X"0A",X"00",X"00",X"00",X"00",X"D8",X"90",X"A0",X"50",X"20",X"00",X"00",X"00", + X"00",X"02",X"01",X"05",X"13",X"42",X"35",X"12",X"00",X"00",X"20",X"44",X"14",X"88",X"24",X"D8", + X"24",X"03",X"05",X"02",X"0A",X"04",X"00",X"00",X"42",X"E4",X"98",X"B0",X"08",X"D4",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"00",X"01",X"1F",X"C3",X"47",X"C7",X"80",X"C3",X"A3",X"B1",X"B9",X"BF",X"1F",X"18", + X"47",X"C3",X"1F",X"01",X"00",X"00",X"00",X"00",X"1F",X"BF",X"B9",X"B1",X"A3",X"C3",X"80",X"00", + X"00",X"18",X"3F",X"01",X"1F",X"C3",X"47",X"C7",X"00",X"03",X"A3",X"B1",X"B9",X"BF",X"1F",X"18", + X"47",X"C3",X"1F",X"01",X"3F",X"18",X"00",X"00",X"1F",X"BF",X"B9",X"B1",X"A3",X"03",X"00",X"00", + X"00",X"00",X"00",X"01",X"1F",X"C3",X"47",X"C7",X"83",X"C3",X"A1",X"B1",X"BB",X"BF",X"1E",X"18", + X"47",X"C3",X"1F",X"03",X"FF",X"00",X"00",X"00",X"1E",X"BF",X"BB",X"B1",X"A1",X"03",X"03",X"00", + X"00",X"30",X"7F",X"01",X"1F",X"C3",X"47",X"C7",X"00",X"03",X"A3",X"B1",X"B9",X"BF",X"1F",X"18", + X"47",X"C3",X"1F",X"03",X"FF",X"00",X"00",X"00",X"1F",X"BF",X"B9",X"B1",X"A3",X"03",X"00",X"00", + X"3C",X"42",X"81",X"A5",X"A5",X"99",X"42",X"3C",X"C0",X"C0",X"C0",X"C0",X"FF",X"FF",X"00",X"00", + X"DB",X"DB",X"DF",X"1F",X"00",X"00",X"7F",X"FF",X"FF",X"00",X"00",X"7F",X"FF",X"DB",X"DB",X"DB", + X"FF",X"C0",X"C0",X"FF",X"FF",X"C0",X"C0",X"FF",X"C3",X"C3",X"C3",X"FF",X"7E",X"00",X"00",X"7F", + X"C3",X"FF",X"7E",X"00",X"00",X"C3",X"C3",X"C3",X"00",X"00",X"00",X"7E",X"FF",X"C3",X"C3",X"C3", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"03",X"07",X"0F",X"0F",X"1F",X"1F",X"1F", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"1F",X"1F",X"0F",X"0F",X"07",X"03",X"00",X"00", + X"F8",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"00",X"00",X"00",X"00",X"00",X"1F",X"1F",X"1F", + X"FC",X"FC",X"FC",X"FC",X"FC",X"FC",X"F8",X"00",X"1F",X"1F",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"03",X"0F",X"1F",X"3F",X"7F",X"7F",X"00",X"00",X"80",X"00",X"00",X"80",X"00",X"00", + X"7F",X"7F",X"7F",X"3F",X"1F",X"0F",X"03",X"00",X"80",X"00",X"00",X"83",X"07",X"00",X"80",X"00", + X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00",X"00", + X"08",X"08",X"08",X"FF",X"08",X"08",X"08",X"08",X"00",X"00",X"00",X"00",X"00",X"06",X"06",X"00", + X"00",X"00",X"0E",X"3F",X"7F",X"7F",X"FF",X"FF",X"00",X"00",X"00",X"00",X"00",X"00",X"0F",X"0F", + X"FF",X"FF",X"7F",X"7F",X"3F",X"0E",X"00",X"00",X"0F",X"0F",X"00",X"00",X"00",X"00",X"00",X"00", + X"00",X"00",X"01",X"07",X"0E",X"18",X"20",X"07",X"00",X"00",X"C0",X"80",X"00",X"00",X"00",X"80", + X"FF",X"07",X"20",X"18",X"0E",X"07",X"01",X"00",X"FF",X"81",X"03",X"00",X"00",X"80",X"C0",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/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/sound.vhd b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/sound.vhd new file mode 100644 index 00000000..39532f82 --- /dev/null +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ROM/sound.vhd @@ -0,0 +1,534 @@ +library ieee; +use ieee.std_logic_1164.all,ieee.numeric_std.all; + +entity sound 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 sound is + type rom is array(0 to 8191) of std_logic_vector(7 downto 0); + signal rom_data: rom := ( + X"21",X"FF",X"FF",X"2D",X"20",X"FD",X"25",X"20",X"FA",X"DB",X"00",X"FE",X"F0",X"28",X"FA",X"3E", + X"10",X"3D",X"20",X"FD",X"DB",X"00",X"FE",X"F0",X"28",X"EF",X"FE",X"F1",X"20",X"25",X"21",X"80", + X"01",X"01",X"4F",X"06",X"DD",X"21",X"2A",X"00",X"18",X"4C",X"06",X"02",X"21",X"FF",X"FF",X"2D", + X"20",X"FD",X"25",X"20",X"05",X"05",X"20",X"02",X"18",X"CF",X"DB",X"00",X"FE",X"F1",X"28",X"EF", + X"C3",X"09",X"00",X"FE",X"F2",X"C2",X"5B",X"00",X"21",X"50",X"06",X"01",X"8F",X"10",X"DD",X"21", + X"55",X"00",X"C3",X"76",X"00",X"DB",X"00",X"FE",X"F2",X"28",X"FA",X"FE",X"F3",X"C2",X"09",X"00", + X"21",X"90",X"10",X"01",X"FF",X"17",X"DD",X"21",X"6D",X"00",X"C3",X"76",X"00",X"DB",X"00",X"FE", + X"F3",X"28",X"FA",X"C3",X"09",X"00",X"50",X"59",X"7E",X"E6",X"F0",X"D3",X"00",X"3E",X"1B",X"3D", + X"20",X"FD",X"7E",X"E6",X"0F",X"07",X"07",X"07",X"07",X"D3",X"00",X"3E",X"19",X"3D",X"20",X"FD", + X"23",X"EB",X"ED",X"52",X"EB",X"20",X"DF",X"DD",X"E9",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00",X"3A",X"00", + X"88",X"89",X"88",X"88",X"88",X"88",X"88",X"98",X"99",X"99",X"88",X"98",X"88",X"88",X"88",X"88", + X"89",X"99",X"98",X"98",X"88",X"88",X"87",X"88",X"87",X"78",X"9A",X"AA",X"89",X"88",X"98",X"87", + X"78",X"78",X"77",X"8B",X"CB",X"87",X"88",X"A8",X"87",X"78",X"87",X"78",X"AC",X"C9",X"87",X"89", + X"88",X"77",X"87",X"68",X"AD",X"C9",X"87",X"89",X"87",X"67",X"76",X"9C",X"CA",X"77",X"89",X"86", + X"67",X"77",X"AD",X"C9",X"56",X"99",X"96",X"55",X"6E",X"EC",X"85",X"79",X"87",X"67",X"65",X"EE", + X"C8",X"37",X"9A",X"75",X"76",X"8F",X"CB",X"53",X"88",X"95",X"56",X"4F",X"FA",X"A1",X"89",X"87", + X"45",X"4D",X"F8",X"B2",X"5B",X"78",X"45",X"5E",X"F7",X"83",X"5C",X"76",X"65",X"5F",X"F8",X"70", + X"8A",X"94",X"56",X"6F",X"C8",X"50",X"C7",X"83",X"37",X"DF",X"F8",X"05",X"E7",X"71",X"48",X"FF", + X"63",X"0D",X"8A",X"51",X"3F",X"F6",X"A0",X"89",X"68",X"32",X"EF",X"4C",X"05",X"B5",X"73",X"3B", + X"FA",X"D2",X"4D",X"4A",X"41",X"BF",X"FD",X"32",X"F4",X"98",X"0D",X"F0",X"F1",X"3D",X"3C",X"51", + X"FF",X"3D",X"06",X"94",X"F6",X"0F",X"F9",X"A0",X"A5",X"7F",X"36",X"FF",X"F2",X"5B",X"29",X"F0", + X"FC",X"0F",X"0E",X"24",X"FA",X"3F",X"FC",X"A0",X"D0",X"5F",X"0F",X"F0",X"F0",X"86",X"3A",X"F4", + X"FF",X"8A",X"0D",X"26",X"D5",X"F8",X"4E",X"0A",X"46",X"A3",X"FA",X"2E",X"3A",X"83",X"E8",X"CF", + X"0C",X"65",X"C3",X"BA",X"8F",X"07",X"61",X"B8",X"9D",X"6F",X"07",X"80",X"94",X"9E",X"8F",X"14", + X"A0",X"C3",X"8B",X"5F",X"F6",X"80",X"F5",X"A8",X"0F",X"F6",X"E0",X"D7",X"6F",X"0F",X"F1",X"F0", + X"A8",X"5C",X"2F",X"F1",X"E0",X"8C",X"6C",X"0F",X"F1",X"C0",X"AC",X"8B",X"0F",X"F4",X"A0",X"8B", + X"CB",X"0F",X"F3",X"F0",X"98",X"9E",X"0F",X"F0",X"F0",X"BE",X"3D",X"0F",X"F0",X"F0",X"9F",X"27", + X"2F",X"F0",X"E0",X"CF",X"A4",X"3F",X"F0",X"E0",X"AF",X"67",X"9F",X"F1",X"D0",X"6F",X"64",X"FF", + X"F4",X"A0",X"BF",X"20",X"FF",X"07",X"42",X"CF",X"70",X"FF",X"0D",X"20",X"EE",X"70",X"FF",X"00", + X"25",X"FB",X"43",X"FF",X"00",X"07",X"FD",X"31",X"FF",X"09",X"08",X"FB",X"45",X"FF",X"0F",X"00", + X"F9",X"18",X"FF",X"0F",X"00",X"F2",X"37",X"FF",X"0F",X"06",X"F7",X"0C",X"FF",X"5F",X"0A",X"F4", + X"0F",X"FF",X"0F",X"0F",X"F4",X"0F",X"FF",X"5D",X"0F",X"E7",X"0F",X"FF",X"2F",X"00",X"F3",X"0F", + X"FF",X"7F",X"00",X"D0",X"0F",X"F0",X"0E",X"0D",X"F0",X"0F",X"F0",X"0C",X"0F",X"F0",X"0F",X"F0", + X"0A",X"0F",X"C3",X"0F",X"F0",X"08",X"0F",X"F0",X"0F",X"F0",X"06",X"0F",X"F0",X"3F",X"F0",X"00", + X"0F",X"A0",X"7F",X"F0",X"00",X"0F",X"F0",X"FF",X"F0",X"00",X"5F",X"60",X"FF",X"F0",X"40",X"0F", + X"F0",X"FF",X"F0",X"F0",X"EF",X"00",X"FF",X"00",X"F0",X"0F",X"00",X"FF",X"00",X"F0",X"FF",X"05", + X"FF",X"00",X"40",X"FF",X"07",X"FF",X"00",X"A0",X"FF",X"00",X"FF",X"00",X"01",X"F1",X"0F",X"FF", + X"00",X"01",X"FF",X"00",X"FF",X"0F",X"06",X"F3",X"0F",X"FF",X"0F",X"00",X"F0",X"0F",X"FF",X"0F", + X"FB",X"F0",X"0F",X"F0",X"0F",X"00",X"F0",X"0F",X"F0",X"0F",X"0F",X"F0",X"1F",X"F0",X"0D",X"0F", + X"E0",X"5F",X"F0",X"0F",X"00",X"F0",X"0F",X"F0",X"0F",X"0F",X"F0",X"AF",X"F0",X"0F",X"0F",X"90", + X"0F",X"F0",X"0E",X"0F",X"A0",X"0F",X"F0",X"0E",X"0F",X"E0",X"0F",X"F0",X"04",X"0F",X"E0",X"FF", + X"F0",X"0D",X"0E",X"F0",X"BF",X"F0",X"0C",X"2F",X"F0",X"5F",X"F0",X"87",X"1C",X"F0",X"AF",X"F0", + X"CD",X"2B",X"C0",X"3F",X"F0",X"08",X"AB",X"E2",X"1F",X"F6",X"61",X"1E",X"F2",X"6F",X"B0",X"5A", + X"4A",X"F1",X"1F",X"F6",X"02",X"DE",X"B4",X"4F",X"FC",X"30",X"4D",X"E4",X"7F",X"F7",X"03",X"8A", + X"B8",X"48",X"FF",X"00",X"5F",X"C7",X"76",X"FE",X"33",X"49",X"C8",X"74",X"FF",X"60",X"0D",X"DB", + X"83",X"BF",X"96",X"27",X"7A",X"A6",X"FF",X"50",X"3C",X"BA",X"64",X"9F",X"FC",X"00",X"8F",X"D3", + X"AE",X"88",X"57",X"68",X"96",X"8D",X"FD",X"10",X"6F",X"B5",X"93",X"9F",X"F0",X"0A",X"F8",X"88", + X"CF",X"80",X"2B",X"C4",X"88",X"9F",X"F0",X"0C",X"E5",X"75",X"3F",X"F8",X"01",X"AA",X"B8",X"7F", + X"F1",X"0A",X"C6",X"78",X"6F",X"F7",X"06",X"A8",X"77",X"6A",X"FF",X"30",X"16",X"B9",X"7D",X"FD", + X"21",X"57",X"88",X"8C",X"FD",X"66",X"26",X"96",X"8A",X"BE",X"E8",X"03",X"88",X"77",X"DF",X"F9", + X"02",X"55",X"6A",X"BF",X"FD",X"22",X"55",X"58",X"9C",X"FF",X"63",X"44",X"56",X"6C",X"FF",X"74", + X"66",X"45",X"56",X"FF",X"BA",X"95",X"56",X"33",X"DD",X"9A",X"C9",X"69",X"42",X"BD",X"86",X"AC", + X"9A",X"75",X"AA",X"64",X"8A",X"8B",X"A5",X"BB",X"85",X"77",X"59",X"A7",X"BD",X"A7",X"89",X"57", + X"86",X"AA",X"87",X"B9",X"79",X"A7",X"79",X"75",X"98",X"7A",X"A9",X"9A",X"98",X"A7",X"67",X"79", + X"9A",X"97",X"BA",X"89",X"89",X"88",X"66",X"A8",X"8A",X"AB",X"99",X"75",X"A8",X"68",X"9B",X"AA", + X"87",X"B8",X"66",X"79",X"8A",X"87",X"BA",X"88",X"99",X"69",X"85",X"99",X"99",X"BC",X"79",X"85", + X"88",X"86",X"8B",X"9C",X"95",X"88",X"87",X"99",X"6A",X"A8",X"77",X"87",X"AB",X"8A",X"97",X"77", + X"76",X"8A",X"8C",X"BA",X"77",X"96",X"78",X"69",X"9A",X"A8",X"87",X"99",X"79",X"AA",X"78",X"86", + X"79",X"88",X"AB",X"89",X"A9",X"97",X"77",X"88",X"78",X"97",X"AB",X"97",X"9B",X"88",X"86",X"67", + X"88",X"9A",X"99",X"A8",X"89",X"98",X"99",X"79",X"A7",X"68",X"86",X"8A",X"9A",X"CA",X"98",X"86", + X"78",X"78",X"A9",X"78",X"98",X"AA",X"77",X"A9",X"88",X"87",X"78",X"68",X"BA",X"99",X"87",X"89", + X"67",X"AA",X"A9",X"87",X"79",X"88",X"A9",X"99",X"77",X"88",X"67",X"AA",X"AA",X"97",X"77",X"66", + X"8A",X"BB",X"98",X"87",X"67",X"89",X"BB",X"98",X"87",X"67",X"78",X"AB",X"AA",X"A8",X"67",X"67", + X"99",X"AA",X"A9",X"78",X"67",X"89",X"99",X"A9",X"89",X"77",X"88",X"88",X"A8",X"89",X"88",X"99", + X"89",X"98",X"79",X"87",X"88",X"9A",X"A8",X"79",X"88",X"88",X"89",X"A8",X"78",X"88",X"99",X"89", + X"A8",X"89",X"88",X"88",X"89",X"A9",X"89",X"98",X"77",X"78",X"A9",X"89",X"99",X"98",X"78",X"88", + X"89",X"98",X"98",X"88",X"88",X"89",X"99",X"98",X"89",X"97",X"79",X"99",X"98",X"89",X"88",X"88", + X"89",X"97",X"88",X"87",X"8A",X"98",X"99",X"88",X"87",X"89",X"98",X"98",X"99",X"87",X"89",X"98", + X"88",X"88",X"87",X"89",X"A9",X"A9",X"88",X"66",X"69",X"99",X"9A",X"98",X"76",X"69",X"99",X"89", + X"A8",X"97",X"7A",X"8A",X"78",X"77",X"98",X"89",X"A9",X"9A",X"88",X"98",X"79",X"87",X"88",X"88", + X"A9",X"87",X"88",X"89",X"99",X"99",X"78",X"78",X"89",X"99",X"A9",X"88",X"87",X"89",X"98",X"99", + X"88",X"88",X"8A",X"99",X"99",X"88",X"77",X"78",X"89",X"A9",X"89",X"88",X"88",X"88",X"99",X"89", + X"88",X"88",X"88",X"99",X"88",X"88",X"88",X"88",X"98",X"89",X"98",X"89",X"89",X"99",X"89",X"97", + X"88",X"89",X"AA",X"9A",X"98",X"88",X"88",X"98",X"89",X"98",X"89",X"88",X"98",X"89",X"98",X"89", + X"88",X"88",X"89",X"98",X"88",X"77",X"88",X"88",X"98",X"78",X"87",X"88",X"78",X"99",X"89",X"98", + X"89",X"88",X"99",X"88",X"99",X"99",X"99",X"99",X"88",X"87",X"88",X"88",X"88",X"88",X"88",X"88", + X"98",X"89",X"88",X"98",X"78",X"88",X"88",X"88",X"77",X"77",X"88",X"79",X"98",X"99",X"99",X"AA", + X"9A",X"AA",X"AA",X"AA",X"A9",X"99",X"98",X"98",X"88",X"88",X"78",X"87",X"78",X"78",X"88",X"78", + X"98",X"89",X"99",X"AA",X"AB",X"BA",X"AA",X"AA",X"AA",X"AA",X"A9",X"99",X"88",X"87",X"66",X"54", + X"45",X"34",X"43",X"34",X"44",X"56",X"67",X"89",X"9A",X"BB",X"BB",X"BB",X"AA",X"AB",X"A9",X"99", + X"99",X"99",X"89",X"98",X"77",X"88",X"88",X"99",X"AA",X"AA",X"AA",X"AA",X"AA",X"BA",X"AA",X"AA", + X"A9",X"AA",X"A9",X"99",X"99",X"87",X"78",X"87",X"66",X"66",X"66",X"66",X"66",X"66",X"67",X"78", + X"88",X"88",X"88",X"99",X"99",X"99",X"99",X"88",X"89",X"88",X"88",X"89",X"88",X"88",X"88",X"99", + X"9A",X"AA",X"AA",X"AA",X"AA",X"9A",X"A9",X"99",X"98",X"88",X"77",X"77",X"76",X"66",X"66",X"66", + X"66",X"77",X"77",X"88",X"88",X"99",X"99",X"99",X"99",X"99",X"99",X"99",X"99",X"99",X"AA",X"AA", + X"AA",X"AA",X"AA",X"AA",X"AA",X"AA",X"99",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"78",X"87",X"88",X"77",X"77",X"77",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"9A",X"AB",X"A9",X"88",X"78",X"89",X"99",X"98",X"87",X"77", + X"78",X"88",X"87",X"77",X"77",X"76",X"8C",X"BD",X"C9",X"87",X"67",X"89",X"AA",X"99",X"77",X"77", + X"89",X"99",X"98",X"88",X"88",X"88",X"88",X"87",X"77",X"77",X"79",X"DD",X"DC",X"87",X"66",X"8A", + X"AA",X"98",X"87",X"78",X"89",X"99",X"98",X"88",X"88",X"88",X"87",X"77",X"77",X"66",X"9D",X"DC", + X"C7",X"66",X"69",X"BB",X"A9",X"77",X"67",X"89",X"9A",X"98",X"87",X"77",X"78",X"87",X"66",X"66", + X"7B",X"FB",X"E8",X"56",X"78",X"CB",X"B9",X"66",X"77",X"9A",X"9A",X"A9",X"87",X"67",X"78",X"87", + X"55",X"58",X"EF",X"BD",X"66",X"78",X"AB",X"98",X"87",X"98",X"98",X"88",X"A8",X"98",X"77",X"66", + X"55",X"56",X"8F",X"CB",X"A4",X"7A",X"8D",X"B8",X"86",X"6A",X"88",X"9A",X"89",X"76",X"65",X"66", + X"65",X"8C",X"F7",X"E4",X"69",X"7C",X"C8",X"98",X"6C",X"7A",X"A6",X"97",X"77",X"55",X"45",X"7B", + X"F8",X"D5",X"28",X"79",X"E8",X"BA",X"6A",X"87",X"86",X"88",X"66",X"44",X"49",X"FF",X"9D",X"06", + X"67",X"DA",X"BB",X"8A",X"85",X"93",X"85",X"57",X"36",X"9F",X"FB",X"C1",X"66",X"6D",X"9C",X"A7", + X"B7",X"78",X"56",X"44",X"46",X"CF",X"CD",X"71",X"85",X"9D",X"DE",X"97",X"63",X"84",X"75",X"35", + X"5C",X"F8",X"F5",X"5A",X"3B",X"BB",X"E6",X"A4",X"57",X"43",X"12",X"7D",X"F9",X"F4",X"5A",X"4D", + X"AA",X"C9",X"96",X"75",X"31",X"05",X"BF",X"D9",X"80",X"B5",X"DF",X"8D",X"89",X"45",X"43",X"21", + X"7F",X"FF",X"F0",X"B5",X"7F",X"4E",X"79",X"93",X"70",X"00",X"4E",X"FF",X"F0",X"84",X"8F",X"4F", + X"4B",X"64",X"60",X"30",X"9F",X"FF",X"90",X"C0",X"F6",X"BD",X"4C",X"09",X"02",X"46",X"FF",X"F9", + X"0A",X"0F",X"7E",X"A6",X"70",X"80",X"33",X"CF",X"BF",X"09",X"1B",X"98",X"D6",X"A1",X"52",X"36", + X"FE",X"FE",X"3A",X"49",X"99",X"D6",X"50",X"11",X"5F",X"FF",X"F9",X"C1",X"82",X"A8",X"79",X"18", + X"0E",X"9E",X"CC",X"CA",X"86",X"A6",X"62",X"37",X"6E",X"F8",X"F4",X"B5",X"8B",X"6D",X"25",X"16", + X"CE",X"DF",X"5C",X"2A",X"56",X"72",X"87",X"DF",X"8F",X"0D",X"0E",X"58",X"40",X"A6",X"F7",X"F1", + X"B3",X"97",X"46",X"0D",X"7F",X"AF",X"17",X"29",X"56",X"53",X"DB",X"F9",X"F0",X"72",X"87",X"45", + X"6A",X"FE",X"F3",X"80",X"93",X"63",X"AA",X"FF",X"F5",X"52",X"36",X"59",X"9E",X"FE",X"B7",X"61", + X"31",X"5A",X"FF",X"FC",X"54",X"23",X"33",X"8C",X"FF",X"FA",X"63",X"22",X"25",X"AE",X"FE",X"D6", + X"71",X"31",X"4A",X"CF",X"EF",X"59",X"04",X"02",X"AA",X"FD",X"F7",X"92",X"10",X"19",X"AF",X"CF", + X"6B",X"03",X"12",X"A9",X"FC",X"F5",X"90",X"31",X"3A",X"BF",X"DF",X"69",X"12",X"02",X"9B",X"FD", + X"F7",X"A1",X"30",X"57",X"DF",X"FF",X"8A",X"03",X"05",X"8E",X"FF",X"D9",X"60",X"10",X"78",X"FF", + X"F9",X"A3",X"20",X"09",X"9F",X"DF",X"5B",X"03",X"02",X"7C",X"06",X"F8",X"90",X"20",X"06",X"EF", + X"FF",X"97",X"01",X"05",X"8F",X"FF",X"DB",X"30",X"00",X"68",X"FF",X"FB",X"C2",X"30",X"36",X"AF", + X"FE",X"C8",X"42",X"03",X"5D",X"DF",X"CF",X"55",X"02",X"37",X"ED",X"FC",X"E3",X"30",X"14",X"BF", + X"FF",X"E8",X"50",X"00",X"5D",X"EF",X"CF",X"45",X"01",X"27",X"EE",X"FC",X"C4",X"40",X"14",X"AF", + X"FF",X"F6",X"60",X"11",X"6C",X"EF",X"EC",X"63",X"11",X"39",X"DF",X"FF",X"67",X"02",X"07",X"CF", + X"FF",X"C5",X"30",X"13",X"9C",X"FE",X"F5",X"60",X"11",X"7D",X"FF",X"FB",X"61",X"00",X"4A",X"EF", + X"FF",X"44",X"01",X"38",X"DF",X"FF",X"85",X"00",X"06",X"CF",X"FF",X"E4",X"20",X"02",X"9F",X"FF", + X"F7",X"60",X"00",X"6C",X"FF",X"FE",X"52",X"00",X"27",X"FF",X"FF",X"77",X"00",X"05",X"CF",X"FF", + X"E6",X"10",X"03",X"8F",X"FF",X"F6",X"50",X"00",X"5C",X"FF",X"FB",X"60",X"00",X"5A",X"FF",X"FF", + X"45",X"01",X"27",X"DF",X"FF",X"85",X"00",X"05",X"BF",X"FF",X"F5",X"20",X"02",X"8E",X"FF",X"F9", + X"50",X"00",X"5B",X"FF",X"FF",X"62",X"00",X"37",X"EF",X"FF",X"85",X"00",X"05",X"BF",X"FF",X"E6", + X"20",X"02",X"7D",X"FF",X"FA",X"50",X"00",X"5B",X"FF",X"FD",X"71",X"00",X"37",X"EF",X"FF",X"95", + X"00",X"14",X"BE",X"FF",X"E7",X"10",X"03",X"7D",X"FF",X"FB",X"60",X"00",X"49",X"DF",X"FE",X"73", + X"01",X"36",X"CF",X"FF",X"B6",X"10",X"14",X"9D",X"FF",X"F9",X"41",X"03",X"5B",X"EF",X"FD",X"72", + X"00",X"48",X"CF",X"FF",X"A5",X"10",X"25",X"AD",X"FF",X"D8",X"31",X"24",X"8C",X"FF",X"EA",X"41", + X"02",X"6B",X"FF",X"FB",X"62",X"01",X"59",X"EF",X"FD",X"73",X"01",X"38",X"DF",X"FF",X"93",X"00", + X"26",X"CF",X"FF",X"A4",X"10",X"26",X"AF",X"FF",X"C6",X"10",X"15",X"9E",X"FF",X"D7",X"20",X"14", + X"8D",X"FF",X"E9",X"30",X"13",X"7C",X"FF",X"FA",X"41",X"02",X"6B",X"FF",X"FB",X"51",X"02",X"5A", + X"FF",X"FC",X"72",X"01",X"5A",X"EF",X"FC",X"73",X"12",X"59",X"DF",X"FC",X"83",X"11",X"48",X"DF", + X"FD",X"84",X"11",X"38",X"CF",X"FD",X"94",X"21",X"37",X"BF",X"FE",X"95",X"21",X"37",X"BE",X"FE", + X"A5",X"21",X"36",X"BE",X"FE",X"B6",X"31",X"36",X"AE",X"FF",X"B6",X"31",X"25",X"9D",X"FF",X"C8", + X"42",X"25",X"9D",X"FF",X"C8",X"42",X"24",X"8C",X"FF",X"D9",X"52",X"24",X"7B",X"EF",X"DA",X"52", + X"13",X"7B",X"EF",X"EA",X"62",X"13",X"6A",X"DF",X"EB",X"73",X"23",X"59",X"CF",X"FD",X"84",X"22", + X"48",X"CF",X"FE",X"A5",X"21",X"36",X"AE",X"FE",X"B7",X"31",X"25",X"9D",X"FF",X"D9",X"42",X"24", + X"7B",X"EF",X"EB",X"63",X"23",X"69",X"DF",X"FC",X"84",X"22",X"47",X"BE",X"FE",X"B7",X"32",X"35", + X"9C",X"EE",X"D9",X"53",X"24",X"7A",X"CE",X"EB",X"85",X"33",X"57",X"AC",X"DD",X"A8",X"54",X"46", + X"8A",X"CC",X"CA",X"75",X"55",X"78",X"AB",X"BB",X"A8",X"76",X"67",X"88",X"99",X"AA",X"98",X"87", + X"77",X"78",X"8A",X"AB",X"A8",X"76",X"66",X"78",X"9B",X"CB",X"A8",X"76",X"55",X"78",X"AC",X"CB", + X"97",X"65",X"56",X"7A",X"BC",X"CA",X"86",X"55",X"67",X"9A",X"BC",X"B9",X"75",X"56",X"78",X"AB", + X"BA",X"98",X"76",X"78",X"99",X"99",X"88",X"88",X"89",X"99",X"98",X"77",X"78",X"9A",X"AA",X"A8", + X"76",X"66",X"89",X"AB",X"BA",X"87",X"66",X"67",X"9A",X"BB",X"A9",X"87",X"66",X"78",X"9A",X"AA", + X"98",X"77",X"78",X"89",X"99",X"98",X"88",X"88",X"98",X"88",X"88",X"88",X"89",X"99",X"98",X"77", + X"77",X"89",X"9A",X"A9",X"87",X"77",X"88",X"9A",X"A9",X"98",X"77",X"78",X"9A",X"AA",X"98",X"77", + X"77",X"89",X"AA",X"A9",X"87",X"77",X"88",X"9A",X"A9",X"88",X"77",X"88",X"99",X"99",X"98",X"88", + X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88", + X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"88",X"88",X"88", + X"99",X"99",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"99",X"88",X"87",X"88",X"89",X"99", + X"99",X"88",X"77",X"88",X"99",X"99",X"98",X"77",X"78",X"89",X"99",X"98",X"87",X"77",X"88",X"99", + X"99",X"88",X"88",X"88",X"99",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99", + X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"88",X"88", + X"88",X"88",X"99",X"99",X"98",X"88",X"88",X"88",X"99",X"98",X"88",X"88",X"88",X"88",X"99",X"99", + X"88",X"88",X"88",X"88",X"99",X"98",X"88",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"88",X"89", + X"98",X"88",X"88",X"88",X"88",X"89",X"98",X"88",X"88",X"88",X"88",X"88",X"89",X"99",X"98",X"88", + X"88",X"88",X"99",X"99",X"88",X"88",X"88",X"89",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"88",X"88",X"88", + X"88",X"99",X"98",X"88",X"88",X"88",X"88",X"99",X"88",X"88",X"88",X"88",X"99",X"98",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"89",X"99",X"88",X"88",X"88",X"88",X"98",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"99",X"88",X"88",X"88",X"88",X"99",X"99",X"88", + X"88",X"88",X"89",X"99",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"89",X"88",X"88",X"88",X"88",X"88",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"89",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"98",X"88",X"89",X"98",X"89",X"88", + X"88",X"89",X"89",X"89",X"99",X"87",X"88",X"89",X"88",X"88",X"89",X"89",X"88",X"88",X"89",X"99", + X"88",X"88",X"88",X"88",X"98",X"88",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"99", + X"98",X"88",X"88",X"89",X"89",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"99",X"99",X"98",X"88",X"98",X"98",X"88",X"88",X"88",X"99",X"99",X"99",X"99",X"98", + X"88",X"77",X"77",X"78",X"89",X"9A",X"AA",X"AA",X"99",X"87",X"77",X"66",X"77",X"88",X"9A",X"AA", + X"AA",X"A9",X"88",X"77",X"66",X"67",X"78",X"89",X"AA",X"BB",X"AA",X"99",X"87",X"66",X"66",X"67", + X"78",X"9A",X"AB",X"BB",X"A9",X"87",X"76",X"66",X"66",X"78",X"89",X"AB",X"BB",X"BB",X"A9",X"87", + X"66",X"66",X"67",X"78",X"9A",X"AB",X"BB",X"BA",X"98",X"77",X"66",X"66",X"67",X"77",X"99",X"AA", + X"BB",X"BA",X"A9",X"87",X"76",X"66",X"67",X"78",X"89",X"AB",X"BB",X"BA",X"A8",X"97",X"87",X"87", + X"88",X"88",X"77",X"77",X"78",X"89",X"AA",X"AA",X"A9",X"99",X"98",X"88",X"87",X"66",X"66",X"68", + X"8A",X"BB",X"CB",X"B9",X"A8",X"97",X"87",X"87",X"77",X"66",X"67",X"79",X"9B",X"AC",X"BB",X"A9", + X"88",X"87",X"87",X"87",X"76",X"76",X"77",X"99",X"BB",X"CB",X"BA",X"99",X"78",X"78",X"78",X"78", + X"77",X"77",X"78",X"99",X"BA",X"CA",X"B9",X"98",X"87",X"88",X"78",X"78",X"77",X"67",X"78",X"9A", + X"BB",X"CA",X"B9",X"A7",X"87",X"87",X"88",X"88",X"77",X"67",X"78",X"99",X"BA",X"CA",X"B8",X"97", + X"87",X"87",X"88",X"78",X"77",X"66",X"77",X"99",X"CB",X"DA",X"C9",X"97",X"87",X"78",X"78",X"78", + X"67",X"66",X"77",X"A8",X"CA",X"DA",X"B9",X"88",X"77",X"68",X"79",X"79",X"77",X"66",X"76",X"99", + X"BC",X"CD",X"AB",X"79",X"68",X"68",X"88",X"88",X"87",X"75",X"57",X"6A",X"9D",X"BD",X"BB",X"97", + X"86",X"86",X"87",X"98",X"88",X"66",X"56",X"77",X"B9",X"EA",X"E9",X"B8",X"77",X"68",X"69",X"79", + X"89",X"86",X"65",X"67",X"7A",X"9D",X"AD",X"AA",X"97",X"86",X"86",X"87",X"98",X"88",X"66",X"56", + X"77",X"9A",X"BD",X"BD",X"9B",X"69",X"67",X"77",X"88",X"98",X"97",X"76",X"56",X"87",X"BA",X"EB", + X"DB",X"A9",X"68",X"57",X"68",X"88",X"A8",X"96",X"85",X"65",X"87",X"B9",X"EB",X"DB",X"A9",X"68", + X"47",X"68",X"89",X"A9",X"A7",X"75",X"54",X"86",X"BA",X"EC",X"CD",X"8A",X"47",X"47",X"77",X"A8", + X"B9",X"A7",X"75",X"44",X"57",X"8D",X"AF",X"AF",X"9A",X"65",X"65",X"77",X"8A",X"9C",X"9A",X"77", + X"54",X"46",X"78",X"DA",X"FB",X"F9",X"A6",X"56",X"47",X"88",X"B9",X"C9",X"A7",X"65",X"33",X"37", + X"6D",X"BF",X"ED",X"D7",X"A2",X"63",X"67",X"8B",X"BC",X"C9",X"95",X"63",X"33",X"48",X"8F",X"CF", + X"DE",X"A7",X"72",X"43",X"68",X"AC",X"CC",X"C9",X"84",X"52",X"22",X"59",X"9F",X"DF",X"FD",X"C4", + X"70",X"42",X"78",X"CB",X"FC",X"D8",X"85",X"33",X"12",X"47",X"AC",X"FD",X"FA",X"E5",X"52",X"14", + X"59",X"BE",X"EF",X"BB",X"66",X"23",X"22",X"35",X"9B",X"EF",X"DF",X"8D",X"36",X"23",X"56",X"AC", + X"DE",X"DB",X"96",X"53",X"34",X"34",X"58",X"BA",X"FB",X"FA",X"C8",X"55",X"24",X"68",X"CC",X"EE", + X"CB",X"76",X"44",X"44",X"35",X"4B",X"8F",X"FD",X"F9",X"D5",X"54",X"24",X"68",X"DC",X"FD",X"BB", + X"67",X"34",X"44",X"34",X"3A",X"7E",X"FD",X"F9",X"D7",X"44",X"24",X"67",X"CE",X"DF",X"BC",X"76", + X"43",X"44",X"44",X"46",X"B9",X"FE",X"EF",X"9C",X"54",X"43",X"59",X"8E",X"DD",X"F8",X"B4",X"54", + X"35",X"65",X"64",X"7A",X"8E",X"ED",X"F9",X"C6",X"55",X"45",X"88",X"CE",X"BE",X"8A",X"65",X"54", + X"57",X"56",X"44",X"98",X"AF",X"BF",X"E9",X"C3",X"64",X"56",X"98",X"EB",X"CB",X"79",X"57",X"56", + X"67",X"45",X"25",X"88",X"EF",X"FF",X"CB",X"85",X"44",X"37",X"7A",X"CB",X"DB",X"A8",X"76",X"66", + X"55",X"33",X"25",X"99",X"FF",X"FF",X"DB",X"75",X"34",X"36",X"8A",X"DD",X"DC",X"A9",X"76",X"55", + X"45",X"44",X"34",X"9A",X"EF",X"FF",X"DB",X"75",X"23",X"35",X"9A",X"DD",X"DD",X"A9",X"76",X"45", + X"55",X"54",X"54",X"8B",X"CF",X"FF",X"FB",X"87",X"33",X"44",X"79",X"AE",X"CC",X"C8",X"86",X"54", + X"55",X"65",X"55",X"59",X"AC",X"FF",X"EF",X"A9",X"64",X"34",X"47",X"AA",X"ED",X"DC",X"97",X"64", + X"46",X"57",X"66",X"55",X"7A",X"AE",X"FE",X"FB",X"97",X"43",X"44",X"69",X"AD",X"ED",X"CA",X"76", + X"54",X"56",X"67",X"66",X"55",X"8A",X"BF",X"FE",X"FA",X"85",X"32",X"44",X"8A",X"BE",X"EC",X"B8", + X"65",X"55",X"68",X"78",X"75",X"44",X"8A",X"BF",X"FF",X"FB",X"85",X"31",X"43",X"8A",X"CE",X"FC", + X"B9",X"56",X"45",X"68",X"79",X"76",X"54",X"5A",X"9D",X"FD",X"FC",X"A5",X"50",X"35",X"6B",X"CD", + X"DE",X"9A",X"65",X"56",X"78",X"98",X"96",X"53",X"24",X"99",X"EF",X"EF",X"D9",X"56",X"13",X"56", + X"AC",X"EC",X"EA",X"97",X"65",X"77",X"79",X"78",X"75",X"33",X"26",X"AB",X"FF",X"FF",X"D7",X"64", + X"14",X"58",X"AD",X"CD",X"CA",X"88",X"66",X"77",X"88",X"77",X"64",X"32",X"26",X"BD",X"FF",X"FF", + X"C7",X"32",X"01",X"57",X"BE",X"FE",X"EB",X"86",X"54",X"56",X"78",X"88",X"76",X"53",X"24",X"9D", + X"FF",X"FF",X"E9",X"41",X"10",X"36",X"BD",X"FF",X"DB",X"85",X"34",X"46",X"8A",X"AA",X"96",X"54", + X"22",X"49",X"EF",X"FF",X"FC",X"73",X"01",X"05",X"9E",X"FF",X"FB",X"95",X"52",X"56",X"8A",X"BA", + X"88",X"55",X"44",X"35",X"7C",X"FF",X"FF",X"D8",X"62",X"13",X"48",X"AF",X"EF",X"C9",X"65",X"54", + X"68",X"AA",X"BA",X"87",X"54",X"45",X"45",X"69",X"DE",X"FF",X"EC",X"87",X"43",X"56",X"8A",X"CB", + X"B9",X"85",X"56",X"78",X"AB",X"AA",X"97",X"55",X"55",X"56",X"66",X"8B",X"EE",X"FF",X"DA",X"76", + X"23",X"35",X"7A",X"CC",X"DB",X"A7",X"76",X"76",X"89",X"99",X"98",X"77",X"76",X"67",X"65",X"79", + X"DE",X"FF",X"C9",X"65",X"23",X"47",X"AC",X"FE",X"C9",X"84",X"34",X"57",X"9C",X"CC",X"A9",X"76", + X"65",X"55",X"66",X"56",X"8C",X"DE",X"FE",X"C9",X"74",X"33",X"67",X"9B",X"CC",X"BA",X"86",X"56", + X"78",X"AA",X"BA",X"97",X"66",X"66",X"67",X"77",X"67",X"9E",X"EE",X"FD",X"95",X"53",X"34",X"8B", + X"CE",X"EC",X"87",X"54",X"35",X"79",X"CC",X"CA",X"97",X"66",X"66",X"67",X"77",X"66",X"7A",X"DC", + X"ED",X"D8",X"76",X"55",X"6A",X"AB",X"BC",X"97",X"65",X"54",X"79",X"BD",X"DD",X"A9",X"65",X"44", + X"45",X"68",X"98",X"88",X"AD",X"CC",X"CD",X"97",X"66",X"55",X"89",X"AA",X"CB",X"98",X"77",X"67", + X"89",X"AA",X"BA",X"98",X"87",X"77",X"76",X"66",X"66",X"66",X"AD",X"DD",X"DD",X"97",X"65",X"55", + X"89",X"AA",X"BA",X"87",X"67",X"67",X"8A",X"BB",X"CB",X"96",X"65",X"55",X"67",X"78",X"88",X"76", + X"9C",X"CD",X"DE",X"A7",X"55",X"44",X"79",X"BB",X"CB",X"97",X"55",X"56",X"69",X"BC",X"CC",X"B8", + X"75",X"55",X"56",X"78",X"88",X"87",X"9C",X"DD",X"CD",X"B8",X"55",X"55",X"68",X"AB",X"BB",X"A8", + X"66",X"67",X"78",X"AB",X"BA",X"A8",X"76",X"66",X"66",X"78",X"87",X"77",X"79",X"CD",X"DC",X"DA", + X"85",X"56",X"67",X"8B",X"BB",X"A9",X"76",X"55",X"77",X"9B",X"DC",X"BA",X"87",X"55",X"56",X"67", + X"89",X"98",X"87",X"8B",X"CC",X"BC",X"B8",X"65",X"66",X"78",X"BC",X"BA",X"98",X"66",X"57",X"89", + X"9B",X"CB",X"A8",X"87",X"66",X"67",X"77",X"78",X"78",X"77",X"AC",X"DC",X"CC",X"A8",X"56",X"67", + X"78",X"BB",X"A8",X"87",X"76",X"78",X"99",X"9B",X"BA",X"87",X"77",X"66",X"78",X"88",X"78",X"87", + X"66",X"8C",X"DC",X"BC",X"B9",X"65",X"67",X"88",X"AB",X"A9",X"87",X"77",X"67",X"89",X"AA",X"AA", + X"A8",X"88",X"87",X"67",X"77",X"66",X"78",X"88",X"79",X"CD",X"CA",X"BA",X"96",X"56",X"78",X"79", + X"AA",X"98",X"88",X"87",X"77",X"88",X"89",X"9A",X"AA",X"99",X"87",X"66",X"66",X"66",X"78",X"99", + X"89",X"AB",X"BB",X"AA",X"98",X"66",X"77",X"88",X"9A",X"A9",X"88",X"88",X"77",X"89",X"99",X"99", + X"A9",X"99",X"98",X"87",X"76",X"66",X"66",X"78",X"9A",X"BC",X"CB",X"A9",X"87",X"66",X"68",X"99", + X"AA",X"A9",X"87",X"77",X"77",X"89",X"AA",X"99",X"98",X"88",X"99",X"88",X"77",X"66",X"67",X"78", + X"89",X"AB",X"CB",X"AA",X"98",X"77",X"78",X"89",X"9A",X"99",X"88",X"88",X"88",X"89",X"99",X"98", + X"88",X"88",X"88",X"99",X"99",X"87",X"76",X"66",X"77",X"89",X"AA",X"BB",X"B9",X"98",X"77",X"77", + X"89",X"9A",X"99",X"98",X"77",X"78",X"89",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"87",X"66", + X"77",X"78",X"99",X"9A",X"AA",X"A9",X"98",X"88",X"78",X"88",X"99",X"99",X"98",X"88",X"88",X"89", + X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"88",X"87",X"77",X"78",X"88",X"88",X"99",X"9A",X"AA", + X"99",X"88",X"77",X"78",X"99",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"98",X"88",X"88",X"88", + X"89",X"99",X"99",X"98",X"87",X"77",X"77",X"78",X"89",X"99",X"AA",X"AA",X"98",X"87",X"77",X"78", + X"88",X"88",X"88",X"98",X"88",X"88",X"99",X"98",X"88",X"87",X"89",X"AA",X"A9",X"76",X"66",X"8C", + X"EC",X"96",X"44",X"68",X"DF",X"D8",X"63",X"46",X"8D",X"FC",X"76",X"43",X"7A",X"9D",X"D9",X"67", + X"44",X"8A",X"8D",X"D9",X"66",X"35",X"A9",X"BE",X"B6",X"65",X"48",X"B8",X"DC",X"96",X"64",X"69", + X"9A",X"EC",X"86",X"54",X"8B",X"8D",X"D8",X"56",X"46",X"A9",X"BE",X"A6",X"64",X"5A",X"A7",X"EB", + X"77",X"64",X"7B",X"7D",X"E8",X"57",X"37",X"C8",X"AF",X"95",X"74",X"4A",X"A9",X"FA",X"46",X"64", + X"BB",X"5F",X"D5",X"58",X"37",X"C6",X"EF",X"63",X"84",X"7D",X"6A",X"F9",X"37",X"56",X"B7",X"BF", + X"83",X"66",X"8D",X"59",X"F9",X"45",X"78",X"C5",X"BF",X"75",X"65",X"9C",X"3A",X"F7",X"47",X"6A", + X"C2",X"CF",X"63",X"84",X"AC",X"3D",X"F4",X"27",X"7B",X"A4",X"FE",X"42",X"68",X"BA",X"9F",X"93", + X"26",X"BD",X"4B",X"F8",X"33",X"5B",X"C6",X"FC",X"44",X"56",X"E7",X"5F",X"C4",X"35",X"7C",X"5C", + X"F7",X"46",X"4A",X"B2",X"FE",X"54",X"77",X"B5",X"7F",X"95",X"56",X"9B",X"2F",X"D5",X"47",X"9D", + X"55",X"F8",X"25",X"8A",X"B5",X"FA",X"43",X"69",X"E6",X"9F",X"73",X"47",X"DA",X"4F",X"A5",X"52", + X"5F",X"8E",X"E3",X"47",X"5B",X"78",X"F8",X"35",X"48",X"D5",X"FF",X"54",X"44",X"B9",X"CF",X"42", + X"87",X"97",X"7F",X"B3",X"45",X"6D",X"7F",X"C5",X"75",X"4A",X"6F",X"F4",X"17",X"88",X"47",X"FA", + X"35",X"48",X"B6",X"FC",X"55",X"78",X"93",X"FE",X"64",X"67",X"B5",X"CF",X"48",X"55",X"B9",X"6F", + X"64",X"57",X"9A",X"5F",X"91",X"64",X"6D",X"3F",X"F0",X"34",X"7C",X"58",X"F6",X"53",X"2A",X"A4", + X"F8",X"37",X"49",X"A1",X"FF",X"46",X"47",X"C5",X"AF",X"67",X"47",X"C6",X"5F",X"96",X"54",X"BB", + X"0F",X"F2",X"81",X"3F",X"82",X"F9",X"64",X"1C",X"D1",X"AF",X"7E",X"00",X"FE",X"1F",X"A7",X"D0", + X"4F",X"4A",X"F2",X"D0",X"0F",X"90",X"F8",X"CC",X"08",X"E3",X"FF",X"2F",X"00",X"F9",X"2F",X"8E", + X"D0",X"8B",X"5B",X"F2",X"F0",X"2E",X"83",X"F8",X"F6",X"0A",X"A6",X"FF",X"3F",X"02",X"EB",X"4F", + X"9E",X"A0",X"89",X"5F",X"F1",X"F0",X"0C",X"B5",X"FB",X"8E",X"08",X"95",X"BF",X"6E",X"60",X"9A", + X"5F",X"F3",X"F0",X"28",X"4E",X"F6",X"9B",X"0A",X"87",X"8F",X"8F",X"10",X"95",X"BF",X"F2",X"F1", + X"0B",X"8C",X"8D",X"AF",X"05",X"78",X"CF",X"99",X"60",X"DA",X"C5",X"C8",X"F0",X"08",X"4D",X"DF", + X"8C",X"07",X"8F",X"48",X"DC",X"D0",X"90",X"D5",X"FE",X"64",X"0A",X"DA",X"2F",X"5F",X"40",X"83", + X"6C",X"FF",X"C0",X"0F",X"79",X"DB",X"4F",X"07",X"60",X"BF",X"F3",X"F0",X"97",X"DA",X"D5",X"CB", + X"0F",X"0D",X"6F",X"9E",X"40",X"77",X"F3",X"F7",X"F3",X"37",X"4B",X"5F",X"5F",X"00",X"9B",X"87", + X"F3",X"F0",X"59",X"08",X"EF",X"7F",X"05",X"79",X"8C",X"F6",X"F0",X"84",X"28",X"EF",X"3F",X"03", + X"77",X"BB",X"F5",X"F1",X"55",X"1B",X"CF",X"BF",X"03",X"6B",X"A8",X"F5",X"F3",X"46",X"36",X"EF", + X"1F",X"02",X"3A",X"78",X"FB",X"E6",X"24",X"46",X"BF",X"7F",X"81",X"0D",X"09",X"FD",X"FA",X"03", + X"60",X"BF",X"FB",X"F0",X"29",X"07",X"CF",X"AF",X"35",X"33",X"49",X"FB",X"F8",X"40",X"32",X"9F", + X"FB",X"E4",X"16",X"06",X"CF",X"FF",X"61",X"30",X"99",X"ED",X"FA",X"64",X"26",X"3E",X"EE",X"B6", + X"36",X"66",X"D7",X"F8",X"B5",X"47",X"5B",X"CB",X"6A",X"76",X"88",X"69",X"A9",X"C8",X"57",X"88", + X"89",X"88",X"9B",X"79",X"A5",X"9A",X"88",X"A5",X"9A",X"87",X"87",X"9C",X"79",X"89",X"69",X"88", + X"88",X"A8",X"C6",X"77",X"6B",X"98",X"9A",X"5A",X"65",X"A9",X"B8",X"A5",X"B6",X"68",X"9B",X"7C", + X"89",X"77",X"49",X"E7",X"C7",X"88",X"95",X"7A",X"9D",X"99",X"76",X"55",X"BA",X"D9",X"B5",X"87", + X"27",X"AE",X"EB",X"54",X"86",X"67",X"DD",X"C7",X"77",X"43",X"7C",X"FD",X"A5",X"67",X"55",X"7D", + X"DC",X"D6",X"05",X"84",X"AE",X"DC",X"95",X"27",X"36",X"BF",X"FA",X"71",X"65",X"66",X"FD",X"FB", + X"51",X"27",X"5B",X"FF",X"B8",X"32",X"44",X"7D",X"FF",X"B3",X"23",X"65",X"9F",X"FF",X"84",X"03", + X"57",X"DF",X"F7",X"53",X"34",X"77",X"FF",X"D8",X"32",X"27",X"7B",X"FE",X"C7",X"30",X"69",X"5E", + X"FE",X"75",X"03",X"77",X"9F",X"FD",X"61",X"15",X"78",X"CF",X"CB",X"70",X"09",X"94",X"FF",X"E6", + X"20",X"38",X"B8",X"FF",X"D1",X"13",X"58",X"8D",X"FD",X"86",X"01",X"AA",X"6D",X"FC",X"83",X"03", + X"AA",X"5F",X"FA",X"42",X"16",X"A7",X"AF",X"F9",X"51",X"19",X"A7",X"AF",X"E7",X"41",X"2A",X"A4", + X"FF",X"B6",X"30",X"3D",X"A6",X"FF",X"85",X"30",X"5C",X"97",X"FF",X"62",X"02",X"9C",X"7B",X"FB", + X"46",X"00",X"DD",X"6C",X"F8",X"44",X"03",X"CE",X"7E",X"F6",X"14",X"28",X"E9",X"4F",X"F2",X"64", + X"0C",X"F6",X"5F",X"D1",X"94",X"0B",X"F7",X"5F",X"C0",X"64",X"6C",X"D3",X"6F",X"93",X"A1",X"3F", + X"B1",X"BF",X"44",X"B0",X"5E",X"D0",X"BF",X"13",X"B3",X"7F",X"70",X"FF",X"07",X"80",X"BF",X"70", + X"FF",X"2B",X"60",X"CD",X"52",X"FC",X"09",X"73",X"DB",X"32",X"F7",X"2B",X"37",X"F9",X"07",X"F7", + X"4B",X"19",X"F7",X"18",X"F4",X"99",X"1B",X"A9",X"0A",X"F5",X"78",X"4B",X"C4",X"0F",X"F1",X"99", + X"2D",X"B3",X"0F",X"F4",X"A5",X"6B",X"96",X"0F",X"E2",X"97",X"3D",X"C0",X"3F",X"82",X"F4",X"1F", + X"90",X"AF",X"06",X"F0",X"3F",X"90",X"FF",X"0A",X"E0",X"AE",X"00",X"FF",X"0E",X"A0",X"DD",X"04", + X"FF",X"2F",X"40",X"FA",X"0E",X"F1",X"6F",X"05",X"F1",X"0F",X"F0",X"CC",X"09",X"F0",X"3F",X"F4", + X"C6",X"0D",X"F0",X"AF",X"45",X"E3",X"0F",X"40",X"FF",X"0C",X"C0",X"6F",X"00",X"FF",X"2C",X"70", + X"9F",X"06",X"FF",X"3E",X"50",X"F9",X"0F",X"F0",X"8E",X"02",X"F4",X"0F",X"F0",X"B8",X"08",X"F0", + X"1F",X"F2",X"B6",X"0E",X"C0",X"FF",X"F4",X"C1",X"1F",X"A0",X"FF",X"16",X"B0",X"4F",X"50",X"FF", + X"09",X"B0",X"AF",X"08",X"FF",X"1B",X"50",X"CC",X"0F",X"F4",X"3B",X"30",X"FA",X"0F",X"F0",X"4E", + X"06",X"F1",X"2F",X"F0",X"A9",X"0A",X"E0",X"9F",X"50",X"97",X"0C",X"E0",X"FF",X"20",X"D4",X"3E", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF",X"FF", + X"FF",X"97",X"01",X"05",X"8F",X"FF",X"DB",X"30",X"00",X"68",X"FF",X"FB",X"C2",X"30",X"36",X"AF", + X"FE",X"C8",X"42",X"03",X"5D",X"DF",X"CF",X"55",X"02",X"37",X"ED",X"FC",X"E3",X"30",X"14",X"BF", + X"FF",X"E8",X"50",X"00",X"5D",X"EF",X"CF",X"45",X"01",X"27",X"EE",X"FC",X"C4",X"40",X"14",X"AF", + X"FF",X"F6",X"60",X"11",X"6C",X"EF",X"EC",X"63",X"11",X"39",X"DF",X"FF",X"67",X"02",X"07",X"CF", + X"FF",X"C5",X"30",X"13",X"9C",X"FE",X"F5",X"60",X"11",X"7D",X"FF",X"FB",X"61",X"00",X"4A",X"EF", + X"FF",X"44",X"01",X"38",X"DF",X"FF",X"85",X"00",X"06",X"CF",X"FF",X"E4",X"20",X"02",X"9F",X"FF", + X"F7",X"60",X"00",X"6C",X"FF",X"FE",X"52",X"00",X"27",X"FF",X"FF",X"77",X"00",X"05",X"CF",X"FF", + X"E6",X"10",X"03",X"8F",X"FF",X"F6",X"50",X"00",X"5C",X"FF",X"FB",X"60",X"00",X"5A",X"FF",X"FF", + X"45",X"01",X"27",X"DF",X"FF",X"85",X"00",X"05",X"BF",X"FF",X"F5",X"20",X"02",X"8E",X"FF",X"F9", + X"50",X"00",X"5B",X"FF",X"FF",X"62",X"00",X"37",X"EF",X"FF",X"85",X"00",X"05",X"BF",X"FF",X"E6", + X"20",X"02",X"7D",X"FF",X"FA",X"50",X"00",X"5B",X"FF",X"FD",X"71",X"00",X"37",X"EF",X"FF",X"95", + X"00",X"14",X"BE",X"FF",X"E7",X"10",X"03",X"7D",X"FF",X"FB",X"60",X"00",X"49",X"DF",X"FE",X"73", + X"01",X"36",X"CF",X"FF",X"B6",X"10",X"14",X"9D",X"FF",X"F9",X"41",X"03",X"5B",X"EF",X"FD",X"72", + X"00",X"48",X"CF",X"FF",X"A5",X"10",X"25",X"AD",X"FF",X"D8",X"31",X"24",X"8C",X"FF",X"EA",X"41", + X"02",X"6B",X"FF",X"FB",X"62",X"01",X"59",X"EF",X"FD",X"73",X"01",X"38",X"DF",X"FF",X"93",X"00", + X"26",X"CF",X"FF",X"A4",X"10",X"26",X"AF",X"FF",X"C6",X"10",X"15",X"9E",X"FF",X"D7",X"20",X"14", + X"8D",X"FF",X"E9",X"30",X"13",X"7C",X"FF",X"FA",X"41",X"02",X"6B",X"FF",X"FB",X"51",X"02",X"5A", + X"FF",X"FC",X"72",X"01",X"5A",X"EF",X"FC",X"73",X"12",X"59",X"DF",X"FC",X"83",X"11",X"48",X"DF", + X"FD",X"84",X"11",X"38",X"CF",X"FD",X"94",X"21",X"37",X"BF",X"FE",X"95",X"21",X"37",X"BE",X"FE", + X"A5",X"21",X"36",X"BE",X"FE",X"B6",X"31",X"36",X"AE",X"FF",X"B6",X"31",X"25",X"9D",X"FF",X"C8", + X"42",X"25",X"9D",X"FF",X"C8",X"42",X"24",X"8C",X"FF",X"D9",X"52",X"24",X"7B",X"EF",X"DA",X"52", + X"13",X"7B",X"EF",X"EA",X"62",X"13",X"6A",X"DF",X"EB",X"73",X"23",X"59",X"CF",X"FD",X"84",X"22", + X"48",X"CF",X"FE",X"A5",X"21",X"36",X"AE",X"FE",X"B7",X"31",X"25",X"9D",X"FF",X"D9",X"42",X"24", + X"7B",X"EF",X"EB",X"63",X"23",X"69",X"DF",X"FC",X"84",X"22",X"47",X"BE",X"FE",X"B7",X"32",X"35", + X"9C",X"EE",X"D9",X"53",X"24",X"7A",X"CE",X"EB",X"85",X"33",X"57",X"AC",X"DD",X"A8",X"54",X"46", + X"8A",X"CC",X"CA",X"75",X"55",X"78",X"AB",X"BB",X"A8",X"76",X"67",X"88",X"99",X"AA",X"98",X"87", + X"77",X"78",X"8A",X"AB",X"A8",X"76",X"66",X"78",X"9B",X"CB",X"A8",X"76",X"55",X"78",X"AC",X"CB", + X"97",X"65",X"56",X"7A",X"BC",X"CA",X"86",X"55",X"67",X"9A",X"BC",X"B9",X"75",X"56",X"78",X"AB", + X"BA",X"98",X"76",X"78",X"99",X"99",X"88",X"88",X"89",X"99",X"98",X"77",X"78",X"9A",X"AA",X"A8", + X"76",X"66",X"89",X"AB",X"BA",X"87",X"66",X"67",X"9A",X"BB",X"A9",X"87",X"66",X"78",X"9A",X"AA", + X"98",X"77",X"78",X"89",X"99",X"98",X"88",X"88",X"98",X"88",X"88",X"88",X"89",X"99",X"98",X"77", + X"77",X"89",X"9A",X"A9",X"87",X"77",X"88",X"9A",X"A9",X"98",X"77",X"78",X"9A",X"AA",X"98",X"77", + X"77",X"89",X"AA",X"A9",X"87",X"77",X"88",X"9A",X"A9",X"88",X"77",X"88",X"99",X"99",X"98",X"88", + X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88", + X"89",X"99",X"98",X"88",X"88",X"89",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"88",X"88",X"88", + X"99",X"99",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"99",X"88",X"87",X"88",X"89",X"99", + X"99",X"88",X"77",X"88",X"99",X"99",X"98",X"77",X"78",X"89",X"99",X"98",X"87",X"77",X"88",X"99", + X"99",X"88",X"88",X"88",X"99",X"99",X"98",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"89",X"99", + X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"88",X"88", + X"88",X"88",X"99",X"99",X"98",X"88",X"88",X"88",X"99",X"98",X"88",X"88",X"88",X"88",X"99",X"99", + X"88",X"88",X"88",X"88",X"99",X"98",X"88",X"88",X"88",X"89",X"99",X"98",X"88",X"88",X"88",X"89", + X"98",X"88",X"88",X"88",X"88",X"89",X"98",X"88",X"88",X"88",X"88",X"88",X"89",X"99",X"98",X"88", + X"88",X"88",X"99",X"99",X"88",X"88",X"88",X"89",X"99",X"99",X"88",X"88",X"88",X"99",X"99",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"88",X"88",X"88", + X"88",X"99",X"98",X"88",X"88",X"88",X"88",X"99",X"88",X"88",X"88",X"88",X"99",X"98",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"89",X"99",X"88",X"88",X"88",X"88",X"98",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"99",X"99",X"88",X"88",X"88",X"88",X"99",X"99",X"88", + X"88",X"88",X"89",X"99",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"89",X"88",X"88",X"88",X"88",X"88",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"89",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"98",X"88",X"89",X"98",X"89",X"88", + X"88",X"89",X"89",X"89",X"99",X"87",X"88",X"89",X"88",X"88",X"89",X"89",X"88",X"88",X"89",X"99", + X"88",X"88",X"88",X"88",X"98",X"88",X"98",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"89",X"99", + X"98",X"88",X"88",X"89",X"89",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88",X"88", + X"88",X"88",X"99",X"99",X"98",X"88",X"98",X"98",X"88",X"88",X"88",X"99",X"99",X"99",X"99",X"98", + X"88",X"77",X"77",X"78",X"89",X"9A",X"AA",X"AA",X"99",X"87",X"77",X"66",X"77",X"88",X"9A",X"AA", + X"AA",X"A9",X"88",X"77",X"66",X"67",X"78",X"89",X"AA",X"BB",X"AA",X"99",X"87",X"66",X"66",X"67", + X"78",X"9A",X"AB",X"BB",X"A9",X"87",X"76",X"66",X"66",X"78",X"89",X"AB",X"BB",X"BB",X"A9",X"87", + X"66",X"66",X"67",X"78",X"9A",X"AB",X"BB",X"BA",X"98",X"77",X"66",X"66",X"67",X"77",X"99",X"AA", + X"BB",X"BA",X"A9",X"87",X"76",X"66",X"67",X"78",X"89",X"AB",X"BB",X"BA",X"A8",X"97",X"87",X"87", + X"88",X"88",X"77",X"77",X"78",X"89",X"AA",X"AA",X"A9",X"99",X"98",X"88",X"87",X"66",X"66",X"68", + X"8A",X"BB",X"CB",X"B9",X"A8",X"97",X"87",X"87",X"77",X"66",X"67",X"79",X"9B",X"AC",X"BB",X"A9", + X"88",X"87",X"87",X"87",X"76",X"76",X"77",X"99",X"BB",X"CB",X"BA",X"99",X"78",X"78",X"78",X"78", + X"77",X"77",X"78",X"99",X"BA",X"CA",X"B9",X"98",X"87",X"88",X"78",X"78",X"77",X"67",X"78",X"9A", + X"BB",X"CA",X"B9",X"A7",X"87",X"87",X"88",X"88",X"77",X"67",X"78",X"99",X"BA",X"CA",X"B8",X"97", + X"87",X"87",X"88",X"78",X"77",X"66",X"77",X"99",X"CB",X"DA",X"C9",X"97",X"87",X"78",X"78",X"78", + X"67",X"66",X"77",X"A8",X"CA",X"DA",X"B9",X"88",X"77",X"68",X"79",X"79",X"77",X"66",X"76",X"99", + X"BC",X"CD",X"AB",X"79",X"68",X"68",X"88",X"88",X"87",X"75",X"57",X"6A",X"9D",X"BD",X"BB",X"97", + X"86",X"86",X"87",X"98",X"88",X"66",X"56",X"77",X"B9",X"EA",X"E9",X"B8",X"77",X"68",X"69",X"79", + X"89",X"86",X"65",X"67",X"7A",X"9D",X"AD",X"AA",X"97",X"86",X"86",X"87",X"98",X"88",X"66",X"56", + X"77",X"9A",X"BD",X"BD",X"9B",X"69",X"67",X"77",X"88",X"98",X"97",X"76",X"56",X"87",X"BA",X"EB", + X"DB",X"A9",X"68",X"57",X"68",X"88",X"A8",X"96",X"85",X"65",X"87",X"B9",X"EB",X"DB",X"A9",X"68", + X"47",X"68",X"89",X"A9",X"A7",X"75",X"54",X"86",X"BA",X"EC",X"CD",X"8A",X"47",X"47",X"77",X"A8", + X"B9",X"A7",X"75",X"44",X"57",X"8D",X"AF",X"AF",X"9A",X"65",X"65",X"77",X"8A",X"9C",X"9A",X"77", + X"54",X"46",X"78",X"DA",X"FB",X"F9",X"A6",X"56",X"47",X"88",X"B9",X"C9",X"A7",X"65",X"33",X"37", + X"6D",X"BF",X"ED",X"D7",X"A2",X"63",X"67",X"8B",X"BC",X"C9",X"95",X"63",X"33",X"48",X"8F",X"CF", + X"DE",X"A7",X"72",X"43",X"68",X"AC",X"CC",X"C9",X"84",X"52",X"22",X"59",X"9F",X"DF",X"FD",X"C4", + X"70",X"42",X"78",X"CB",X"FC",X"D8",X"85",X"33",X"12",X"47",X"AC",X"FD",X"FA",X"E5",X"52",X"14", + X"59",X"BE",X"EF",X"BB",X"66",X"23",X"22",X"35",X"9B",X"EF",X"DF",X"8D",X"36",X"23",X"56",X"AC", + X"DE",X"DB",X"96",X"53",X"34",X"34",X"58",X"BA",X"FB",X"FA",X"C8",X"55",X"24",X"68",X"CC",X"EE", + X"CB",X"76",X"44",X"44",X"35",X"4B",X"8F",X"FD",X"F9",X"D5",X"54",X"24",X"68",X"DC",X"FD",X"BB", + X"67",X"34",X"44",X"34",X"3A",X"7E",X"FD",X"F9",X"D7",X"44",X"24",X"67",X"CE",X"DF",X"BC",X"76", + X"43",X"44",X"44",X"46",X"B9",X"FE",X"EF",X"9C",X"54",X"43",X"59",X"8E",X"DD",X"F8",X"B4",X"54", + X"35",X"65",X"64",X"7A",X"8E",X"ED",X"F9",X"C6",X"55",X"45",X"88",X"CE",X"BE",X"8A",X"65",X"54", + X"57",X"56",X"44",X"98",X"AF",X"BF",X"E9",X"C3",X"64",X"56",X"98",X"EB",X"CB",X"79",X"57",X"56", + X"67",X"45",X"25",X"88",X"EF",X"FF",X"CB",X"85",X"44",X"37",X"7A",X"CB",X"DB",X"A8",X"76",X"66", + X"55",X"33",X"25",X"99",X"FF",X"FF",X"DB",X"75",X"34",X"36",X"8A",X"DD",X"DC",X"A9",X"76",X"55", + X"45",X"44",X"34",X"9A",X"EF",X"FF",X"DB",X"75",X"23",X"35",X"9A",X"DD",X"DD",X"A9",X"76",X"45", + X"55",X"54",X"54",X"8B",X"CF",X"FF",X"FB",X"87",X"33",X"44",X"79",X"AE",X"CC",X"C8",X"86",X"54", + X"55",X"65",X"55",X"59",X"AC",X"FF",X"EF",X"A9",X"64",X"34",X"47",X"AA",X"ED",X"DC",X"97",X"64", + X"46",X"57",X"66",X"55",X"7A",X"AE",X"FE",X"FB",X"97",X"43",X"44",X"69",X"AD",X"ED",X"CA",X"76", + X"54",X"56",X"67",X"66",X"55",X"8A",X"BF",X"FE",X"FA",X"85",X"32",X"44",X"8A",X"BE",X"EC",X"B8", + X"65",X"55",X"68",X"78",X"75",X"44",X"8A",X"BF",X"FF",X"FB",X"85",X"31",X"43",X"8A",X"CE",X"FC", + X"B9",X"56",X"45",X"68",X"79",X"76",X"54",X"5A",X"9D",X"FD",X"FC",X"A5",X"50",X"35",X"6B",X"CD", + X"DE",X"9A",X"65",X"56",X"78",X"98",X"96",X"53",X"24",X"99",X"EF",X"EF",X"D9",X"56",X"13",X"56", + X"AC",X"EC",X"EA",X"97",X"65",X"77",X"79",X"78",X"75",X"33",X"26",X"AB",X"FF",X"FF",X"D7",X"64", + X"14",X"58",X"AD",X"CD",X"CA",X"88",X"66",X"77",X"88",X"77",X"64",X"32",X"26",X"BD",X"FF",X"FF", + X"C7",X"32",X"01",X"57",X"BE",X"FE",X"EB",X"86",X"54",X"56",X"78",X"88",X"76",X"53",X"24",X"9D", + X"FF",X"FF",X"E9",X"41",X"10",X"36",X"BD",X"FF",X"DB",X"85",X"34",X"46",X"8A",X"AA",X"96",X"54", + X"22",X"49",X"EF",X"FF",X"FC",X"73",X"01",X"05",X"9E",X"FF",X"FB",X"95",X"52",X"56",X"8A",X"BA", + X"88",X"55",X"44",X"35",X"7C",X"FF",X"FF",X"D8",X"62",X"13",X"48",X"AF",X"EF",X"C9",X"65",X"54", + X"68",X"AA",X"BA",X"87",X"54",X"45",X"45",X"69",X"DE",X"FF",X"EC",X"87",X"43",X"56",X"8A",X"CB", + X"B9",X"85",X"56",X"78",X"AB",X"AA",X"97",X"55",X"55",X"56",X"66",X"8B",X"EE",X"FF",X"DA",X"76", + X"23",X"35",X"7A",X"CC",X"DB",X"A7",X"76",X"76",X"89",X"99",X"98",X"77",X"76",X"67",X"65",X"79", + X"DE",X"FF",X"C9",X"65",X"23",X"47",X"AC",X"FE",X"C9",X"84",X"34",X"57",X"9C",X"CC",X"A9",X"76", + X"65",X"55",X"66",X"56",X"8C",X"DE",X"FE",X"C9",X"74",X"33",X"67",X"9B",X"CC",X"BA",X"86",X"56", + X"78",X"AA",X"BA",X"97",X"66",X"66",X"67",X"77",X"67",X"9E",X"EE",X"FD",X"95",X"53",X"34",X"8B", + X"CE",X"EC",X"87",X"54",X"35",X"79",X"CC",X"CA",X"97",X"66",X"66",X"67",X"77",X"66",X"7A",X"DC", + X"ED",X"D8",X"76",X"55",X"6A",X"AB",X"BC",X"97",X"65",X"54",X"79",X"BD",X"DD",X"A9",X"65",X"44", + X"45",X"68",X"98",X"88",X"AD",X"CC",X"CD",X"97",X"66",X"55",X"89",X"AA",X"CB",X"98",X"77",X"67", + X"89",X"AA",X"BA",X"98",X"87",X"77",X"76",X"66",X"66",X"66",X"AD",X"DD",X"DD",X"97",X"65",X"55", + X"89",X"AA",X"BA",X"87",X"67",X"67",X"8A",X"BB",X"CB",X"96",X"65",X"55",X"67",X"78",X"88",X"76", + X"9C",X"CD",X"DE",X"A7",X"55",X"44",X"79",X"BB",X"CB",X"97",X"55",X"56",X"69",X"BC",X"CC",X"B8", + X"75",X"55",X"56",X"78",X"88",X"87",X"9C",X"DD",X"CD",X"B8",X"55",X"55",X"68",X"AB",X"BB",X"A8", + X"66",X"67",X"78",X"AB",X"BA",X"A8",X"76",X"66",X"66",X"78",X"87",X"77",X"79",X"CD",X"DC",X"DA", + X"85",X"56",X"67",X"8B",X"BB",X"A9",X"76",X"55",X"77",X"9B",X"DC",X"BA",X"87",X"55",X"56",X"67", + X"89",X"98",X"87",X"8B",X"CC",X"BC",X"B8",X"65",X"66",X"78",X"BC",X"BA",X"98",X"66",X"57",X"89", + X"9B",X"CB",X"A8",X"87",X"66",X"67",X"77",X"78",X"78",X"77",X"AC",X"DC",X"CC",X"A8",X"56",X"67", + X"78",X"BB",X"A8",X"87",X"76",X"78",X"99",X"9B",X"BA",X"87",X"77",X"66",X"78",X"88",X"78",X"87", + X"66",X"8C",X"DC",X"BC",X"B9",X"65",X"67",X"88",X"AB",X"A9",X"87",X"77",X"67",X"89",X"AA",X"AA", + X"A8",X"88",X"87",X"67",X"77",X"66",X"78",X"88",X"79",X"CD",X"CA",X"BA",X"96",X"56",X"78",X"79", + X"AA",X"98",X"88",X"87",X"77",X"88",X"89",X"9A",X"AA",X"99",X"87",X"66",X"66",X"66",X"78",X"99", + X"89",X"AB",X"BB",X"AA",X"98",X"66",X"77",X"88",X"9A",X"A9",X"88",X"88",X"77",X"89",X"99",X"99"); +begin +process(clk) +begin + if rising_edge(clk) then + data <= rom_data(to_integer(unsigned(addr))); + end if; +end process; +end architecture; diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/kb_synth.vhd b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/kb_synth.vhd new file mode 100644 index 00000000..c90cf9c0 --- /dev/null +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/kb_synth.vhd @@ -0,0 +1,160 @@ +library ieee; + use ieee.std_logic_1164.all; + use ieee.numeric_std.all; + +entity kb_synth is + port ( + reset_n : in std_logic; + clk : in std_logic; + in0 : in std_logic; + in1 : in std_logic; + in2 : in std_logic; + in3 : in std_logic; + speech_out : out std_logic_vector(7 downto 0) + ); +end kb_synth; + +architecture RTL of kb_synth is + +signal cpu_addr : std_logic_vector(15 downto 0); +signal cpu_di : std_logic_vector(7 downto 0); +signal cpu_do : std_logic_vector(7 downto 0); +signal ram_do : std_logic_vector(7 downto 0); +signal rom4_do : std_logic_vector(7 downto 0); +signal rom5_do : std_logic_vector(7 downto 0); +signal rom6_do : std_logic_vector(7 downto 0); +signal mreq_n : std_logic; +signal iorq_n : std_logic; +signal rd_n : std_logic; +signal wr_n : std_logic; + +signal ram_ce : std_logic; +signal rom4_ce : std_logic; +signal rom5_ce : std_logic; +signal rom6_ce : std_logic; +signal ic3_out : std_logic_vector(7 downto 0); +signal buf_do : std_logic_vector(7 downto 0); +signal buf_ce : std_logic; +signal A13n : std_logic; +begin + +cpu_di <= ram_do when ram_ce = '1' else + rom4_do when rom4_ce = '1' else + rom5_do when rom5_ce = '1' else + rom6_do when rom6_ce = '1' else + buf_do when buf_ce = '0' else + "00000000"; + + + cpu : entity work.T80as + port map ( + RESET_n => reset_n, + CLK_n => clk, + WAIT_n => '1', + INT_n => '1', + NMI_n => '1', + BUSRQ_n => '1', + MREQ_n => mreq_n, + IORQ_n => iorq_n, + RD_n => rd_n, + WR_n => wr_n, + A => cpu_addr, + DI => cpu_di, + DO => cpu_do + ); + +A13n <= not cpu_addr(13); +ram_ce <= not (A13n or mreq_n); + ram_inst : entity work.spram generic map(10,8) + port map ( + address => cpu_addr(9 downto 0), + clock => clk, + data => cpu_do, + wren => not wr_n, + q => ram_do + ); + +rom4_ce <= ic3_out(0); + rom4_inst : entity work.kbe1_IC4 + port map ( + clk => clk, + addr => cpu_addr(10 downto 0), + data => rom4_do + ); + +rom5_ce <= ic3_out(1); + rom5_inst : entity work.kbe2_IC5 + port map ( + clk => clk, + addr => cpu_addr(10 downto 0), + data => rom5_do + ); + +rom6_ce <= ic3_out(2); + rom6_inst : entity work.kbe3_IC6 + port map ( + clk => clk, + addr => cpu_addr(10 downto 0), + data => rom6_do + ); + + ls138 : entity work.ttl_74138 + port map ( + a => cpu_addr(11), + b => cpu_addr(12), + c => '0', + g1 => A13n, + g2a_n => rd_n, + g2b_n => mreq_n, + y_n => ic3_out + ); + + ls273 : entity work.ttl_74273 + port map ( + CLRN => reset_n, + CLK => not (wr_n or iorq_n), + D8 => cpu_do(0), + D7 => cpu_do(1), + D6 => cpu_do(2), + D5 => cpu_do(3), + D4 => cpu_do(4), + D3 => cpu_do(5), + D2 => cpu_do(6), + D1 => cpu_do(7), + Q1 => speech_out(0), + Q2 => speech_out(1), + Q3 => speech_out(2), + Q4 => speech_out(3), + Q5 => speech_out(4), + Q6 => speech_out(5), + Q7 => speech_out(6), + Q8 => speech_out(7) + ); + +buf_ce <= rd_n or iorq_n; +--buf_do(6) <= '0'; +--buf_do(7) <= '0'; + ls367 : entity work.ttl_74367 + port map ( + p2GN => buf_ce,--15 + + p2A1 => '1',--12 + p2A2 => '1',--14 + + p1A4 => '0',--in3,--10 + p1A3 => '0',--in2,--6 + p1A2 => in1,--4 + p1A1 => in0,--2 + + p1GN => buf_ce,--1 + + p2Y1 => buf_do(4),--11 + p2Y2 => buf_do(5),--13 + + p1Y4 => buf_do(3),--9 + p1Y3 => buf_do(2),--7 + p1Y2 => buf_do(1),--5 + p1Y1 => buf_do(0)--3 + ); + +end RTL; \ No newline at end of file diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/kingballon.vhd b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/kingballon.vhd index 3bfa76cb..91831325 100644 --- a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/kingballon.vhd +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/kingballon.vhd @@ -23,24 +23,25 @@ library ieee; entity kingballoon is port( - W_CLK_18M : in std_logic; - W_CLK_12M : in std_logic; - W_CLK_6M : in std_logic; + W_CLK_18M : in std_logic; + W_CLK_12M : in std_logic; + W_CLK_6M : in std_logic; - P1_CSJUDLR : in std_logic_vector(6 downto 0); - P2_CSJUDLR : in std_logic_vector(6 downto 0); - I_RESET : in std_logic; + P1_CSJUDLR : in std_logic_vector(6 downto 0); + P2_CSJUDLR : in std_logic_vector(6 downto 0); + I_RESET : in std_logic; - W_R : out std_logic_vector(2 downto 0); - W_G : out std_logic_vector(2 downto 0); - W_B : out std_logic_vector(2 downto 0); - HBLANK : out std_logic; - VBLANK : out std_logic; - W_H_SYNC : out std_logic; - W_V_SYNC : out std_logic; - W_SDAT_A : out std_logic_vector( 7 downto 0); - W_SDAT_B : out std_logic_vector( 7 downto 0); - O_CMPBL : out std_logic + W_R : out std_logic_vector(2 downto 0); + W_G : out std_logic_vector(2 downto 0); + W_B : out std_logic_vector(2 downto 0); + HBLANK : out std_logic; + VBLANK : out std_logic; + W_H_SYNC : out std_logic; + W_V_SYNC : out std_logic; + W_SDAT_A : out std_logic_vector( 7 downto 0); + W_SDAT_B : out std_logic_vector( 7 downto 0); + W_SDAT_C : out std_logic_vector( 7 downto 0); + O_CMPBL : out std_logic ); end; @@ -140,15 +141,6 @@ architecture RTL of kingballoon is signal W_WAV_D1 : std_logic_vector( 7 downto 0) := (others => '0'); signal W_WAV_D2 : std_logic_vector( 7 downto 0) := (others => '0'); signal W_DAC : std_logic_vector( 3 downto 0) := (others => '0'); - - COMPONENT SoundBoard - PORT( - reset_n : in std_logic; - clk : in std_logic; - audio : out std_logic_vector(7 downto 0) - ); - END COMPONENT; - begin mc_vid : entity work.MC_VIDEO @@ -311,7 +303,7 @@ begin I_256HnX => W_256HnX, I_1VF => W_1VF, I_2V => W_V_CNT(1), - I_STARS_ON => W_STARS_ON, + I_STARS_ON => '0',--No Stars on this Game I_STARS_OFFn => W_STARS_OFFn, O_R => W_STARS_R, O_G => W_STARS_G, @@ -333,7 +325,7 @@ begin ); vmc_sound_b : entity work.MC_SOUND_B -port map( + port map( I_CLK1 => W_CLK_6M, I_RSTn => rst_count(3), I_SW => new_sw, @@ -341,16 +333,23 @@ port map( I_FS => W_FS, O_SDAT => W_SDAT_B ); - - mc_roms : entity work.sprom - generic map ( - init_file => "./ROM/prog.hex", - widthad_a => 14, - width_a => 8) + + speech : entity work.kb_synth + port map( + reset_n => W_RESETn, + clk => W_CLK_6M, + in0 => '0',--DIP + in1 => '0',--DIP + in2 => '0',--DIP + in3 => '0',--DIP + speech_out => W_SDAT_C + ); + + mc_roms : entity work.prog port map ( - address => W_A(13 downto 0), - clock => W_CLK_12M, - q => W_CPU_ROM_DO + clk => W_CLK_12M, + addr => W_A(13 downto 0), + data => W_CPU_ROM_DO ); -------- VIDEO ----------------------------- diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/mc_col_pal.vhd b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/mc_col_pal.vhd index 0b4ac592..c0edf061 100644 --- a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/mc_col_pal.vhd +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/mc_col_pal.vhd @@ -63,15 +63,11 @@ begin --- COL ROM -------------------------------------------------------- --wire W_COL_ROM_OEn = W_6M_DO[1]; - galaxian_6l : entity work.sprom - generic map ( - init_file => "./ROM/col.hex", - widthad_a => 5, - width_a => 8) + galaxian_6l : entity work.col port map ( - address => W_6M_DO(6 downto 2), - clock => I_CLK_12M, - q => W_COL_ROM_DO + clk => I_CLK_12M, + addr => W_6M_DO(6 downto 2), + data => W_COL_ROM_DO ); --- VID OUT -------------------------------------------------------- diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/mc_video.vhd b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/mc_video.vhd index 11ce2940..95911cec 100644 --- a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/mc_video.vhd +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/mc_video.vhd @@ -219,27 +219,19 @@ begin O_DB => W_VID_RAM_DOB ); - k_rom : entity work.sprom - generic map ( - init_file => "./ROM/k.hex", - widthad_a => 11, - width_a => 8) + k_rom : entity work.rom_k port map ( - address => W_O_OBJ_ROM_A, - clock => I_CLK_12M, - q => W_1K_D + clk => I_CLK_12M, + addr => '0' & W_O_OBJ_ROM_A, + data => W_1K_D ); - - h_rom : entity work.sprom - generic map ( - init_file => "./ROM/h.hex", - widthad_a => 11, - width_a => 8) + + h_rom : entity work.rom_h port map ( - address => W_O_OBJ_ROM_A, - clock => I_CLK_12M, - q => W_1H_D - ); + clk => I_CLK_12M, + addr => '0' & W_O_OBJ_ROM_A, + data => W_1H_D + ); ----------------------------------------------------------------------------------- diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/sprom.vhd b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/sprom.vhd deleted file mode 100644 index a81ac959..00000000 --- a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/sprom.vhd +++ /dev/null @@ -1,82 +0,0 @@ -LIBRARY ieee; -USE ieee.std_logic_1164.all; - -LIBRARY altera_mf; -USE altera_mf.all; - -ENTITY sprom IS - GENERIC - ( - init_file : string := ""; - widthad_a : natural; - width_a : natural := 8; - outdata_reg_a : string := "UNREGISTERED" - ); - PORT - ( - address : IN STD_LOGIC_VECTOR (widthad_a-1 DOWNTO 0); - clock : IN STD_LOGIC ; - q : OUT STD_LOGIC_VECTOR (width_a-1 DOWNTO 0) - ); -END sprom; - - -ARCHITECTURE SYN OF sprom IS - - SIGNAL sub_wire0 : STD_LOGIC_VECTOR (width_a-1 DOWNTO 0); - - - - COMPONENT altsyncram - GENERIC ( - address_aclr_a : STRING; - clock_enable_input_a : STRING; - clock_enable_output_a : STRING; - init_file : STRING; - intended_device_family : STRING; - lpm_hint : STRING; - lpm_type : STRING; - numwords_a : NATURAL; - operation_mode : STRING; - outdata_aclr_a : STRING; - outdata_reg_a : STRING; - widthad_a : NATURAL; - width_a : NATURAL; - width_byteena_a : NATURAL - ); - PORT ( - clock0 : IN STD_LOGIC ; - address_a : IN STD_LOGIC_VECTOR (widthad_a-1 DOWNTO 0); - q_a : OUT STD_LOGIC_VECTOR (width_a-1 DOWNTO 0) - ); - END COMPONENT; - -BEGIN - q <= sub_wire0(width_a-1 DOWNTO 0); - - altsyncram_component : altsyncram - GENERIC MAP ( - address_aclr_a => "NONE", - clock_enable_input_a => "BYPASS", - clock_enable_output_a => "BYPASS", - init_file => init_file, - intended_device_family => "Cyclone III", - lpm_hint => "ENABLE_RUNTIME_MOD=NO", - lpm_type => "altsyncram", - numwords_a => 2**widthad_a, - operation_mode => "ROM", - outdata_aclr_a => "NONE", - outdata_reg_a => outdata_reg_a, - widthad_a => widthad_a, - width_a => width_a, - width_byteena_a => 1 - ) - PORT MAP ( - clock0 => clock, - address_a => address, - q_a => sub_wire0 - ); - - - -END SYN; diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ttl_74138.vhd b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ttl_74138.vhd new file mode 100644 index 00000000..e16bd235 --- /dev/null +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ttl_74138.vhd @@ -0,0 +1,48 @@ +library IEEE; +use IEEE.std_logic_1164.all; +Use IEEE.std_logic_unsigned.all; +use ieee.numeric_std.all; + +entity ttl_74138 is + port + ( + -- input + a : in std_logic; + b : in std_logic; + c : in std_logic; + + g1 : in std_logic; + g2a_n : in std_logic; + g2b_n : in std_logic; + + -- output + y_n : out std_logic_vector(7 downto 0) + ); +end ttl_74138; + +architecture SYN of ttl_74138 is + + signal enabled : std_logic; + +begin + + enabled <= g1 and not g2a_n and not g2b_n; + + y_n(0) <= '1' when enabled = '0' else + not (not a and not b and not c); + y_n(1) <= '1' when enabled = '0' else + not (a and not b and not c); + y_n(2) <= '1' when enabled = '0' else + not (not a and b and not c); + y_n(3) <= '1' when enabled = '0' else + not (a and b and not c); + y_n(4) <= '1' when enabled = '0' else + not (not a and not b and c); + y_n(5) <= '1' when enabled = '0' else + not (a and not b and c); + y_n(6) <= '1' when enabled = '0' else + not (not a and b and c); + y_n(7) <= '1' when enabled = '0' else + not (a and b and c); + +end SYN; diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ttl_74273.vhd b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ttl_74273.vhd new file mode 100644 index 00000000..9f60ae57 --- /dev/null +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ttl_74273.vhd @@ -0,0 +1,136 @@ +-- Copyright (C) 1991-2014 Altera Corporation +-- Your use of Altera Corporation's design tools, logic functions +-- and other software and tools, and its AMPP partner logic +-- functions, and any output files from any of the foregoing +-- (including device programming or simulation files), and any +-- associated documentation or information are expressly subject +-- to the terms and conditions of the Altera Program License +-- Subscription Agreement, Altera MegaCore Function License +-- Agreement, or other applicable license agreement, including, +-- without limitation, that your use is for the sole purpose of +-- programming logic devices manufactured by Altera and sold by +-- Altera or its authorized distributors. Please refer to the +-- applicable agreement for further details. + +-- PROGRAM "Quartus II 64-Bit" +-- VERSION "Version 13.1.4 Build 182 03/12/2014 SJ Web Edition" +-- CREATED "Sun Aug 18 11:45:39 2019" + +LIBRARY ieee; +USE ieee.std_logic_1164.all; + +LIBRARY work; + +ENTITY ttl_74273 IS + PORT + ( + CLRN : IN STD_LOGIC; + CLK : IN STD_LOGIC; + D8 : IN STD_LOGIC; + D7 : IN STD_LOGIC; + D6 : IN STD_LOGIC; + D5 : IN STD_LOGIC; + D4 : IN STD_LOGIC; + D3 : IN STD_LOGIC; + D2 : IN STD_LOGIC; + D1 : IN STD_LOGIC; + Q1 : OUT STD_LOGIC; + Q2 : OUT STD_LOGIC; + Q3 : OUT STD_LOGIC; + Q4 : OUT STD_LOGIC; + Q5 : OUT STD_LOGIC; + Q6 : OUT STD_LOGIC; + Q7 : OUT STD_LOGIC; + Q8 : OUT STD_LOGIC + ); +END ttl_74273; + +ARCHITECTURE bdf_type OF ttl_74273 IS + + + +BEGIN + + + +PROCESS(CLK,CLRN) +BEGIN +IF (CLRN = '0') THEN + Q8 <= '0'; +ELSIF (RISING_EDGE(CLK)) THEN + Q8 <= D8; +END IF; +END PROCESS; + + +PROCESS(CLK,CLRN) +BEGIN +IF (CLRN = '0') THEN + Q7 <= '0'; +ELSIF (RISING_EDGE(CLK)) THEN + Q7 <= D7; +END IF; +END PROCESS; + + +PROCESS(CLK,CLRN) +BEGIN +IF (CLRN = '0') THEN + Q6 <= '0'; +ELSIF (RISING_EDGE(CLK)) THEN + Q6 <= D6; +END IF; +END PROCESS; + + +PROCESS(CLK,CLRN) +BEGIN +IF (CLRN = '0') THEN + Q5 <= '0'; +ELSIF (RISING_EDGE(CLK)) THEN + Q5 <= D5; +END IF; +END PROCESS; + + +PROCESS(CLK,CLRN) +BEGIN +IF (CLRN = '0') THEN + Q4 <= '0'; +ELSIF (RISING_EDGE(CLK)) THEN + Q4 <= D4; +END IF; +END PROCESS; + + +PROCESS(CLK,CLRN) +BEGIN +IF (CLRN = '0') THEN + Q3 <= '0'; +ELSIF (RISING_EDGE(CLK)) THEN + Q3 <= D3; +END IF; +END PROCESS; + + +PROCESS(CLK,CLRN) +BEGIN +IF (CLRN = '0') THEN + Q2 <= '0'; +ELSIF (RISING_EDGE(CLK)) THEN + Q2 <= D2; +END IF; +END PROCESS; + + +PROCESS(CLK,CLRN) +BEGIN +IF (CLRN = '0') THEN + Q1 <= '0'; +ELSIF (RISING_EDGE(CLK)) THEN + Q1 <= D1; +END IF; +END PROCESS; + + +END bdf_type; \ No newline at end of file diff --git a/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ttl_74367.vhd b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ttl_74367.vhd new file mode 100644 index 00000000..161c44b2 --- /dev/null +++ b/Arcade_MiST/Galaxian Hardware/Z80 Based/KingBaloon_MiST/rtl/ttl_74367.vhd @@ -0,0 +1,122 @@ +-- Copyright (C) 1991-2014 Altera Corporation +-- Your use of Altera Corporation's design tools, logic functions +-- and other software and tools, and its AMPP partner logic +-- functions, and any output files from any of the foregoing +-- (including device programming or simulation files), and any +-- associated documentation or information are expressly subject +-- to the terms and conditions of the Altera Program License +-- Subscription Agreement, Altera MegaCore Function License +-- Agreement, or other applicable license agreement, including, +-- without limitation, that your use is for the sole purpose of +-- programming logic devices manufactured by Altera and sold by +-- Altera or its authorized distributors. Please refer to the +-- applicable agreement for further details. + +-- PROGRAM "Quartus II 64-Bit" +-- VERSION "Version 13.1.4 Build 182 03/12/2014 SJ Web Edition" +-- CREATED "Fri Aug 16 22:43:02 2019" + +LIBRARY ieee; +USE ieee.std_logic_1164.all; + +LIBRARY work; + +ENTITY ttl_74367 IS + PORT + ( + p2GN : IN STD_LOGIC; + p2A1 : IN STD_LOGIC; + p2A2 : IN STD_LOGIC; + p1A4 : IN STD_LOGIC; + p1A3 : IN STD_LOGIC; + p1A2 : IN STD_LOGIC; + p1A1 : IN STD_LOGIC; + p1GN : IN STD_LOGIC; + p2Y1 : OUT STD_LOGIC; + p2Y2 : OUT STD_LOGIC; + p1Y4 : OUT STD_LOGIC; + p1Y3 : OUT STD_LOGIC; + p1Y2 : OUT STD_LOGIC; + p1Y1 : OUT STD_LOGIC + ); +END ttl_74367; + +ARCHITECTURE bdf_type OF ttl_74367 IS + +SIGNAL SYNTHESIZED_WIRE_6 : STD_LOGIC; +SIGNAL SYNTHESIZED_WIRE_7 : STD_LOGIC; + + +BEGIN + + + +PROCESS(p1A4,SYNTHESIZED_WIRE_6) +BEGIN +if (SYNTHESIZED_WIRE_6 = '1') THEN + p1Y4 <= p1A4; +ELSE + p1Y4 <= 'Z'; +END IF; +END PROCESS; + + +PROCESS(p2A2,SYNTHESIZED_WIRE_7) +BEGIN +if (SYNTHESIZED_WIRE_7 = '1') THEN + p2Y2 <= p2A2; +ELSE + p2Y2 <= 'Z'; +END IF; +END PROCESS; + + +SYNTHESIZED_WIRE_6 <= NOT(p1GN); + + + +PROCESS(p2A1,SYNTHESIZED_WIRE_7) +BEGIN +if (SYNTHESIZED_WIRE_7 = '1') THEN + p2Y1 <= p2A1; +ELSE + p2Y1 <= 'Z'; +END IF; +END PROCESS; + + +SYNTHESIZED_WIRE_7 <= NOT(p2GN); + + + +PROCESS(p1A1,SYNTHESIZED_WIRE_6) +BEGIN +if (SYNTHESIZED_WIRE_6 = '1') THEN + p1Y1 <= p1A1; +ELSE + p1Y1 <= 'Z'; +END IF; +END PROCESS; + + +PROCESS(p1A2,SYNTHESIZED_WIRE_6) +BEGIN +if (SYNTHESIZED_WIRE_6 = '1') THEN + p1Y2 <= p1A2; +ELSE + p1Y2 <= 'Z'; +END IF; +END PROCESS; + + +PROCESS(p1A3,SYNTHESIZED_WIRE_6) +BEGIN +if (SYNTHESIZED_WIRE_6 = '1') THEN + p1Y3 <= p1A3; +ELSE + p1Y3 <= 'Z'; +END IF; +END PROCESS; + + +END bdf_type; \ No newline at end of file diff --git a/Computer_MiST/Laser310_MiST/Laser310_MiST.qsf b/Computer_MiST/Laser310_MiST/Laser310_MiST.qsf index 3c7e7668..d112c6a2 100644 --- a/Computer_MiST/Laser310_MiST/Laser310_MiST.qsf +++ b/Computer_MiST/Laser310_MiST/Laser310_MiST.qsf @@ -429,4 +429,5 @@ set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" - # end ENTITY(Laser310_MiST) # ------------------------- +set_global_assignment -name VERILOG_FILE rtl/fdc.v set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/Computer_MiST/Laser310_MiST/rtl/LASER310_TOP.v b/Computer_MiST/Laser310_MiST/rtl/LASER310_TOP.v index 9f7eb03f..6754c1ab 100644 --- a/Computer_MiST/Laser310_MiST/rtl/LASER310_TOP.v +++ b/Computer_MiST/Laser310_MiST/rtl/LASER310_TOP.v @@ -47,7 +47,7 @@ input [7:0] key_code, input [9:0] SWITCH, input UART_RXD, output UART_TXD -); + reg [3:0] CLK; @@ -56,45 +56,38 @@ reg MEM_OP_WR; (*keep*)reg GPIO_CPU_CLK; // Processor (*keep*)reg CPU_CLK; -(*keep*)wire [15:0] CPU_A; -(*keep*)wire [7:0] CPU_DI; -(*keep*)wire [7:0] CPU_DO; +(*keep*)wire[15:0] CPU_A; +(*keep*)wire [7:0] CPU_DI; +(*keep*)wire [7:0] CPU_DO; (*keep*)wire CPU_RESET; (*keep*)wire CPU_HALT; - (*keep*)wire CPU_MREQ; (*keep*)wire CPU_RD; (*keep*)wire CPU_WR; (*keep*)wire CPU_IORQ; (*keep*)reg CPU_INT; - (*keep*)wire CPU_M1; -wire CPU_BUSRQ; -wire CPU_BUSAK; -wire CPU_RFSH; - +wire CPU_BUSRQ; +wire CPU_BUSAK; +wire CPU_RFSH; (*keep*)wire CPU_RESET_N; (*keep*)wire CPU_HALT_N; - (*keep*)wire CPU_MREQ_N; (*keep*)wire CPU_RD_N; (*keep*)wire CPU_WR_N; (*keep*)wire CPU_IORQ_N; (*keep*)wire CPU_INT_N; - (*keep*)wire CPU_M1_N; -wire CPU_BUSRQ_N; -wire CPU_BUSAK_N; -wire CPU_RFSH_N; +wire CPU_BUSRQ_N; +wire CPU_BUSAK_N; +wire CPU_RFSH_N; // VRAM -(*keep*)wire [12:0] VRAM_ADDRESS; +(*keep*)wire[12:0] VRAM_ADDRESS; (*keep*)wire VRAM_WR; -(*keep*)wire [7:0] VRAM_DATA_OUT; - +(*keep*)wire [7:0] VRAM_DATA_OUT; (*keep*)wire VDG_RD; -(*keep*)wire [12:0] VDG_ADDRESS; -(*keep*)wire [7:0] VDG_DATA; - +(*keep*)wire[12:0] VDG_ADDRESS; +(*keep*)wire [7:0] VDG_DATA; // ROM IO RAM reg LATCHED_DOSROM_EN; reg LATCHED_BOOTROM_EN; @@ -1082,4 +1075,105 @@ assign CASS_OUT = EMU_CASS_EN ? EMU_CASS_DAT : {LATCHED_IO_DATA_WR[2], 1'b0}; (*keep*)wire trap = (CPU_RD|CPU_WR) && (CPU_A[15:12] == 4'h0); assign AUD_ADCDAT = {LATCHED_IO_DATA_WR[0],LATCHED_IO_DATA_WR[5]}; + + +// floppy +wire ADDRESS_IO_FDC; +wire ADDRESS_IO_FDC_CT; +wire ADDRESS_IO_FDC_DATA; +wire ADDRESS_IO_FDC_POLL; +wire ADDRESS_IO_FDC_WP; +reg [7:0] LATCHED_IO_FDC; +reg [7:0] LATCHED_IO_FDC_CT; +reg [7:0] LATCHED_RAM_DATA_FDC; + +// floppy +(*keep*)wire FDC_RAM_R; +(*keep*)wire FDC_RAM_W; +(*keep*)wire [17:0] FDC_RAM_ADDR_R; +(*keep*)wire [17:0] FDC_RAM_ADDR_W; +reg [7:0] LAST_WRITE_DATA; +(*keep*)wire [7:0] FDC_RAM_DATA_W; + +(*keep*)wire [7:0] FLOPPY_RD_DATA; +(*keep*)wire [7:0] FLOPPY_DATA; + +// FDC +// if({CPU_IORQ,CPU_RD,CPU_WR,ADDRESS_IO_FDC_CT}==4'b1011) +// LATCHED_IO_FDC_CT <= CPU_DO; + +// if({CPU_IORQ,CPU_RD,CPU_WR}==3'b110) +// LATCHED_IO_FDC <= ADDRESS_IO_FDC_POLL ? {FDC_POLL, 7'h7F} : +// ADDRESS_IO_FDC_DATA ? FDC_DATA : +// ADDRESS_IO_FDC_WP ? {FDC_WP, 7'h7F} : +// 8'hFF; +wire FLOPPY_WP_READ = 1'b0; +wire RAM_ADDRESS_FD_R = FDC_RAM_ADDR_R; +wire RAM_ADDRESS_FD_W = FDC_RAM_ADDR_W; + +assign ADDRESS_IO_FDC = (CPU_A[7:2] == 6'b000100)?1'b1:1'b0; + +assign ADDRESS_IO_FDC_CT = (CPU_A[7:0] == 8'h10)?1'b1:1'b0; +assign ADDRESS_IO_FDC_DATA = (CPU_A[7:0] == 8'h11)?1'b1:1'b0; +assign ADDRESS_IO_FDC_POLL = (CPU_A[7:0] == 8'h12)?1'b1:1'b0; +assign ADDRESS_IO_FDC_WP = (CPU_A[7:0] == 8'h13)?1'b1:1'b0; + + +wire [7:0] FDC_DATA; +wire FDC_POLL; +wire FDC_WP; + +wire [7:0] SECTOR_BYTE; +wire [7:0] TRACK1_NO; +wire [7:0] TRACK2_NO; +wire DRIVE1; +wire DRIVE2; +wire MOTOR; + +wire FDC_IO_R; +wire FDC_IO_W; + +wire FDC_SIG; +wire FDC_SIG_CLK; + +wire FDC_IO = (CPU_IORQ&ADDRESS_IO_FDC); +wire FDC_IO_POLL = (CPU_IORQ&ADDRESS_IO_FDC_POLL); +wire FDC_IO_DATA = (CPU_IORQ&ADDRESS_IO_FDC_DATA); +wire FDC_IO_CT = (CPU_IORQ&ADDRESS_IO_FDC_CT); + +FDC_IF FDC_U ( + .FDC_CLK(CPU_CLK), + .RESET_N(RESET_N), + .SW(SWITCH[3:2]), + .DBG(SWITCH[9:6]), + + .FDC_RAM_R(FDC_RAM_R), + .FDC_RAM_W(FDC_RAM_W), + .FDC_RAM_ADDR_R(FDC_RAM_ADDR_R), + .FDC_RAM_ADDR_W(FDC_RAM_ADDR_W), + .FDC_RAM_DATA_R(LATCHED_RAM_DATA_FDC), + .FDC_RAM_DATA_W(FDC_RAM_DATA_W), + + .FDC_IO(FDC_IO), + .FDC_IO_POLL(FDC_IO_POLL), + .FDC_IO_DATA(FDC_IO_DATA), + .FDC_IO_CT(FDC_IO_CT), + + .FDC_SIG(FDC_SIG), + .FDC_SIG_CLK(FDC_SIG_CLK), + + .FDC_CT(LATCHED_IO_FDC_CT), + .FDC_DATA(FDC_DATA), + .FDC_POLL(FDC_POLL), + .FDC_WP(FDC_WP), + + .FLOPPY_SECTOR_BYTE(SECTOR_BYTE), + .TRACK1_NO(TRACK1_NO), + .TRACK2_NO(TRACK2_NO), + .DRIVE1(DRIVE1), + .DRIVE2(DRIVE2), + .MOTOR(MOTOR) +); + + endmodule diff --git a/Computer_MiST/Laser310_MiST/rtl/Laser310_MiST.sv b/Computer_MiST/Laser310_MiST/rtl/Laser310_MiST.sv index 15896c09..9b9eeb12 100644 --- a/Computer_MiST/Laser310_MiST/rtl/Laser310_MiST.sv +++ b/Computer_MiST/Laser310_MiST/rtl/Laser310_MiST.sv @@ -96,7 +96,7 @@ mist_video #(.COLOR_DEPTH(6)) mist_video( .VGA_B(VGA_B), .VGA_VS(VGA_VS), .VGA_HS(VGA_HS), - .scandoubler_disable(scandoublerD), + .scandoubler_disable(1'b1),//scandoublerD), .scanlines(status[4:3]), .ypbpr(ypbpr) ); diff --git a/Computer_MiST/Laser310_MiST/rtl/fdc.v b/Computer_MiST/Laser310_MiST/rtl/fdc.v new file mode 100644 index 00000000..b63ae324 --- /dev/null +++ b/Computer_MiST/Laser310_MiST/rtl/fdc.v @@ -0,0 +1,967 @@ +/***************************************************************************** +* Floppy +******************************************************************************/ + +// POLLING after Clock + +// vz dsk Parameter +// 154 * 16 * 40 = 98560 = 0x18100 +// 154 * 16 = 2464 = 0x9A0 = 0x4D0 * 2 +`define FD_MAX_LEN 17'h18100 +`define FD_TRACK_LEN 12'h9A0 +`define FD_TRACK_STEP 8'h4D + +// 40*2 0 --- 78 +`define FD_MAX_TRACK_NO 8'd78 + + +module FDC_IF ( + FDC_CLK, + RESET_N, + SW, + DBG, + + FDC_RAM_R, + FDC_RAM_W, + FDC_RAM_ADDR_R, + FDC_RAM_ADDR_W, + FDC_RAM_DATA_R, + FDC_RAM_DATA_W, + + FDC_IO, + FDC_IO_POLL, + FDC_IO_DATA, + FDC_IO_CT, + + FDC_SIG, + FDC_SIG_CLK, + + FDC_CT, + FDC_DATA, + FDC_POLL, + FDC_WP, + + FLOPPY_SECTOR_BYTE, + TRACK1_NO, + TRACK2_NO, + DRIVE1, + DRIVE2, + MOTOR +); + + +input FDC_CLK; +input RESET_N; +input [1:0] SW; +input [3:0] DBG; + +output [17:0] FDC_RAM_ADDR_R; +output [17:0] FDC_RAM_ADDR_W; +output reg FDC_RAM_R; +output reg FDC_RAM_W; +input [7:0] FDC_RAM_DATA_R; +output [7:0] FDC_RAM_DATA_W; + + +input FDC_IO; +input FDC_IO_POLL; +input FDC_IO_DATA; +input FDC_IO_CT; + +output FDC_SIG; +output reg FDC_SIG_CLK; + +input [7:0] FDC_CT; + +output [7:0] FDC_DATA; +output FDC_POLL; +output FDC_WP; + + +reg [11:0] FLOPPY_BYTE; +output reg [7:0] FLOPPY_SECTOR_BYTE; // Count Sector Bytes + +reg [6:0] CLK_CNT; +reg [6:0] CLK_CNT_W; + +reg [18:0] SYNC_CNT; +reg [7:0] FLOPPY_SECTOR_DELAY; // Delay on Sector End + + +reg FD_REC1; +reg FDC_POLL1; +reg FDC_REC_DATA_BIT1; +reg FDC_DATA_BIT1; +reg [7:0] FDC_DATA1; +reg [7:0] LATCHED_FDC_DATA1; +reg FDC_DATA_SET1; + +reg FD_REC2; +reg FDC_POLL2; +reg FDC_REC_DATA_BIT2; +reg FDC_DATA_BIT2; +reg [7:0] FDC_DATA2; +reg [7:0] LATCHED_FDC_DATA2; + +reg [3:0] BIT_CNT_W; +reg [2:0] BIT_CNT; + +wire FDC_RAM_DATA_R_BIT; + + +reg [1:0] STEPPER1; +reg [1:0] STEPPER2; +output reg [7:0] TRACK1_NO; +output reg [7:0] TRACK2_NO; +reg [12:0] TRACK1; +reg [12:0] TRACK2; +(*keep*)wire [13:0] TRACK; +wire [12:0] TRACK1_UP; +wire [12:0] TRACK1_DOWN; +wire [12:0] TRACK2_UP; +wire [12:0] TRACK2_DOWN; +reg [17:0] FLOPPY_ADDRESS_R; +reg [17:0] FLOPPY_ADDRESS_W; +//reg [7:0] FLOPPY_WRITE_DATA; + +reg WRITE_WAIT_FIRST_OP; +reg WRITE_DATA_BIT_VAL; + +reg [7:0] WRITE_DATA1; +reg WRITE_DATA_MODI1; +reg [7:0] WRITE_DATA2; +reg WRITE_DATA2_MODI; + + +(*keep*)wire [7:0] FLOPPY_RD_DATA; +(*keep*)wire [7:0] FLOPPY_DATA; +(*keep*)wire FLOPPY_READ; +(*keep*)wire FLOPPY_WRITE; +wire FLOPPY_WP_READ; +reg PHASE0; +reg PHASE0_1; +reg PHASE0_2; +reg PHASE1; +reg PHASE1_1; +reg PHASE1_2; +reg PHASE2; +reg PHASE2_1; +reg PHASE2_2; +reg PHASE3; +reg PHASE3_1; +reg PHASE3_2; +output reg DRIVE1; +output reg DRIVE2; +output reg MOTOR; + +reg WRITE_REQUEST_N; +reg WRITE_DATA_BIT; + +reg Q6; +reg Q7; +wire DRIVE1_EN; +wire DRIVE2_EN; +wire DRIVE1_X; +wire DRIVE2_X; +wire DRIVE_SWAP; +wire DRIVE1_FLOPPY_WP; +wire DRIVE2_FLOPPY_WP; + +reg MODIFY_DRIVE1; +reg MODIFY_DRIVE2; + +assign FDC_RAM_ADDR_R = FLOPPY_ADDRESS_R; +assign FDC_RAM_ADDR_W = FLOPPY_ADDRESS_W; + + +(*preserve*)reg [7:0] FDC_CNT; +(*preserve*)reg [7:0] FDC_CNT_POLL; +(*preserve*)reg [7:0] FDC_CNT_DATA; +(*preserve*)reg [19:0] FDC_CNT_CT; + +always @(posedge FDC_CLK or negedge RESET_N) +begin + if(~RESET_N) + begin + FDC_CNT <= 8'hFF; + FDC_CNT_POLL <= 8'hFF; + FDC_CNT_DATA <= 8'hFF; + FDC_CNT_CT <= 20'hFFFFF; + end + else + begin + if(FDC_IO) + FDC_CNT <= 0; + else if(~FDC_CNT[7]) + FDC_CNT <= FDC_CNT + 1; + + if(FDC_IO_POLL) + FDC_CNT_POLL <= 0; + else if(~FDC_CNT_POLL[7]) + FDC_CNT_POLL <= FDC_CNT_POLL + 1; + + if(FDC_IO_DATA) + FDC_CNT_DATA <= 0; + else if(~FDC_CNT_DATA[7]) + FDC_CNT_DATA <= FDC_CNT_DATA + 1; + + if(FDC_IO_CT) + FDC_CNT_CT <= 0; + else if(~FDC_CNT_CT[19]) + FDC_CNT_CT <= FDC_CNT_CT + 1; + end +end + + + +assign FDC_POLL = (DRIVE1_EN)?FDC_POLL1: + (DRIVE2_EN)?FDC_POLL2: + 1'b0; + + +assign FDC_DATA = (DRIVE1_EN)?FDC_DATA1: + (DRIVE2_EN)?FDC_DATA2: + 8'hFF; + + + +assign FDC_RAM_DATA_R_BIT = (BIT_CNT==3'd7)?FDC_RAM_DATA_R[7]: + (BIT_CNT==3'd6)?FDC_RAM_DATA_R[6]: + (BIT_CNT==3'd5)?FDC_RAM_DATA_R[5]: + (BIT_CNT==3'd4)?FDC_RAM_DATA_R[4]: + (BIT_CNT==3'd3)?FDC_RAM_DATA_R[3]: + (BIT_CNT==3'd2)?FDC_RAM_DATA_R[2]: + (BIT_CNT==3'd1)?FDC_RAM_DATA_R[1]: + FDC_RAM_DATA_R[0]; + + +// 读取 + +reg LATCHED_FD_REC1; +reg LATCHED_FDC_IO_DATA1; +reg GET_FDC_POLLING; + +reg [5:0] FDC_POLL1_CNT; + +reg [5:0] GET_FDC_POLL1_CNT; + + +always @(posedge FDC_CLK or negedge RESET_N) + if(~RESET_N) + begin + FDC_DATA_BIT1 <= 1'b0; + + LATCHED_FD_REC1 <= 1'b0; + LATCHED_FDC_IO_DATA1 <= 1'b0; + end + else + begin + // 磁道记录信号上沿,翻转 DATA_BIT + if({LATCHED_FD_REC1, FD_REC1}==2'b01) + begin + FDC_DATA_BIT1 <= FDC_POLL1; + end + + if(FDC_DATA_SET1) + LATCHED_FDC_DATA1 <= {LATCHED_FDC_DATA1[6:0], FDC_DATA_BIT1}; + + // 读取DATA信号上沿 + if({LATCHED_FDC_IO_DATA1, FDC_IO_DATA}==2'b01) + begin + FDC_DATA1 <= LATCHED_FDC_DATA1; + end + + LATCHED_FD_REC1 <= FD_REC1; + LATCHED_FDC_IO_DATA1 <= FDC_IO_DATA; + end + +//////////////////////////////////////// +// 物理软驱模拟 +//////////////////////////////////////// + +//WRITE_REQUEST_N +(*preserve*)reg [9:0] WRITE_DATA_CNT; + +assign FDC_RAM_DATA_W = WRITE_DATA1; + +// 对写入操作计数 +always @(posedge FDC_CLK or negedge RESET_N) +begin + if(~RESET_N) + begin + WRITE_DATA_CNT <= 0; + end + else + begin + if( (~FDC_CT[6]) && (FDC_CT[5]==LATCHED_FDC_CT[5]) ) + begin + if(~WRITE_DATA_CNT[9]) + WRITE_DATA_CNT <= WRITE_DATA_CNT+1; + end + else + begin + WRITE_DATA_CNT <= 0; + end + end +end + + +// 模拟磁道信号 + +// 等待第1个写入数据变化 +always @(posedge FDC_CLK or negedge RESET_N) + if(~RESET_N) + begin + WRITE_WAIT_FIRST_OP <= 1'b0; + end + else + begin + if( LATCHED_FDC_CT[6]!=FDC_CT[6] ) + begin + // 信号下拉,开始写入,并等待第1个写入数据变化。 + WRITE_WAIT_FIRST_OP <= ({LATCHED_FDC_CT[6],FDC_CT[6]}==2'b10); + end + else + begin + // 找到第1个写入数据变化 + if( ({LATCHED_FDC_CT[6],FDC_CT[6]}==2'b00) && (FDC_CT[5]!=LATCHED_FDC_CT[5]) ) + WRITE_WAIT_FIRST_OP <= 1'b0; + end + end + +// 判断是否有写入数据产生 +always @(posedge FDC_CLK or negedge RESET_N) + if(~RESET_N) + begin + WRITE_DATA_MODI1 <= 1'b0; + end + else + begin + // 写入信号变化 + if( ({LATCHED_FDC_CT[6],FDC_CT[6]}==2'b00) && (FDC_CT[5]!=LATCHED_FDC_CT[5]) ) + begin + WRITE_DATA_MODI1 <= 1'b1; + end + else + begin + if(FDC_RAM_W) + WRITE_DATA_MODI1 <= 1'b0; + end + end + + +// 判断写入的值 +always @(posedge FDC_CLK or negedge RESET_N) + if(~RESET_N) + begin + WRITE_DATA_BIT_VAL <= 1'b0; + end + else + begin + // 写入信号变化 + if( ({LATCHED_FDC_CT[6],FDC_CT[6]}==2'b00) && (FDC_CT[5]!=LATCHED_FDC_CT[5]) ) + begin + // 9'h01B 9'h056 9'h072 + if(WRITE_DATA_CNT==10'h01B) + begin + WRITE_DATA_BIT_VAL <= 1'b1; + end + else + begin + WRITE_DATA_BIT_VAL <= 1'b0; + end + end + end + + +// 模拟磁盘数据位 +always @(posedge FDC_CLK or negedge RESET_N) +begin + if(~RESET_N) + begin + SYNC_CNT <= 19'b0; + + BIT_CNT <= 3'd0; + + FDC_RAM_R <= 1'b0; + FDC_RAM_W <= 1'b0; + + FDC_DATA_SET1 <= 1'b0; + + FDC_POLL1 <= 1'b0; + FDC_POLL2 <= 1'b0; + + FLOPPY_BYTE <= 12'h000; + FLOPPY_SECTOR_BYTE <= 8'h00; + FLOPPY_SECTOR_DELAY <= 8'h00; + FLOPPY_ADDRESS_R <= 18'b0; + FLOPPY_ADDRESS_W <= 18'b0; + + WRITE_DATA1 <= 8'b0; + + FD_REC1 <= 1'b0; + CLK_CNT <= 7'h00; + end + else + begin + begin + if( ({LATCHED_FDC_CT[6],FDC_CT[6]}==2'b00) && (FDC_CT[5]!=LATCHED_FDC_CT[5]) && WRITE_DATA_CNT[9] ) + begin + // INIT 磁道空白区,约1/10圈空白。 + // 找到第1个时钟位 + BIT_CNT <= 3'd7; + + // 下一个需要读取的位置 + FLOPPY_BYTE <= 12'h001; + FLOPPY_SECTOR_BYTE <= 8'h00; + + FLOPPY_ADDRESS_R <= {TRACK, 4'b0}; + SYNC_CNT <= 19'b0; + FDC_RAM_R <= 1'b1; + + FDC_RAM_W <= 1'b0; + + FDC_DATA_SET1 <= 1'b0; + + FD_REC1 <= 1'b1; + FDC_POLL1 <= 1'b0; + FDC_POLL2 <= 1'b0; + CLK_CNT <= 7'h03; + end + else + begin + if( ({LATCHED_FDC_CT[6],FDC_CT[6]}==2'b00) && (FDC_CT[5]!=LATCHED_FDC_CT[5]) && WRITE_DATA_CNT==10'h02F ) + begin + // 格式化时,数据区之前无空白。数据存盘时,写入数据区留有50个左右的时钟周期空白。 + // 写入扇区定位,写入扇区前有约0x28个时钟周期的空白。 + FDC_RAM_W <= 1'b0; + + FDC_DATA_SET1 <= 1'b0; + + FD_REC1 <= 1'b1; + FDC_POLL1 <= 1'b0; + FDC_POLL2 <= 1'b0; + CLK_CNT <= 7'h03; + end + else + begin + case(CLK_CNT) + 7'h00: // 同步信号 324 * 8 * 0x70 = 290304 + begin + FD_REC1 <= 1'b0; + SYNC_CNT <= SYNC_CNT+1; + + FDC_RAM_R <= 1'b0; + FDC_RAM_W <= 1'b0; + + if(SYNC_CNT[18]) + //if(SYNC_CNT[10]) + begin + CLK_CNT <= CLK_CNT + 1; + end + end + + 7'h01: + begin + FDC_RAM_R <= 1'b0; + FDC_RAM_W <= 1'b0; + + // 如果是写入,等待时钟沿的变化 + if( ({LATCHED_FDC_CT[6],FDC_CT[6]}==2'b00) && ({LATCHED_FDC_CT[5],FDC_CT[5]}==2'b01) ) + begin + CLK_CNT <= CLK_CNT; + end + else + begin + CLK_CNT <= CLK_CNT + 1; + end + end + + // CLOCK DOMAIN + 7'h02: + begin + BIT_CNT <= BIT_CNT-1; + + // 读取 + if(BIT_CNT==3'd0) + begin + begin + FLOPPY_BYTE <= FLOPPY_BYTE + 1'b1; + + FLOPPY_ADDRESS_R <= {TRACK, 4'b0} + {6'b000000, FLOPPY_BYTE}; + end + + FDC_RAM_R <= 1'b1; + end + + FD_REC1 <= 1'b1; + + CLK_CNT <= CLK_CNT + 1; + end + + + // POOLING + // 从读取POLLING成功(值为1),到读取DATA中间间隔了0x43 个时钟周期。 + 7'h03: + begin + FDC_RAM_R <= 1'b0; + FDC_RAM_W <= 1'b0; + + FDC_POLL1 <= 1'b1; + FDC_POLL2 <= 1'b1; + CLK_CNT <= CLK_CNT + 1; + end + + 7'h06: // 1us + begin + FD_REC1 <= 1'b0; + CLK_CNT <= CLK_CNT + 1; + end + + // DATA DOMAIN + 7'h1E: + begin + FD_REC1 <= FDC_RAM_DATA_R_BIT; + CLK_CNT <= CLK_CNT + 1; + end + + 7'h1F: + begin + FDC_DATA_SET1 <= 1'b1; + CLK_CNT <= CLK_CNT + 1; + end + + 7'h20: + begin + FDC_DATA_SET1 <= 1'b0; + CLK_CNT <= CLK_CNT + 1; + end + + 7'h22: + begin + FD_REC1 <= 1'b0; + CLK_CNT <= CLK_CNT + 1; + end + + 7'h25: + begin + FDC_POLL1 <= 1'b0; + FDC_POLL2 <= 1'b0; + CLK_CNT <= CLK_CNT + 1; + end + + // 扇区结束延时 + 7'h70: + begin + // 写入 + WRITE_DATA1 <= {WRITE_DATA1[6:0],WRITE_DATA_BIT_VAL}; + + if(BIT_CNT==3'd0) + begin + FLOPPY_ADDRESS_W <= FLOPPY_ADDRESS_R; + FDC_RAM_W <= WRITE_DATA_MODI1; + end + + CLK_CNT <= CLK_CNT + 1; + end + + 7'h71: + begin + // 写入结束 + FDC_RAM_W <= 1'b0; + + FDC_SIG_CLK <= WRITE_DATA_MODI1; + + // 扇区结束时的延时 + if(BIT_CNT==3'd0 && FLOPPY_SECTOR_BYTE==8'h99) + begin + FLOPPY_SECTOR_DELAY <= 8'hA5; + end + else + begin + FLOPPY_SECTOR_DELAY <= 8'h00; + end + + CLK_CNT <= CLK_CNT + 1; + end + + // 扇区结束时的延时 + 7'h72: + begin + FDC_SIG_CLK <= 1'b0; + + // 扇区结束时的延时 + if(FLOPPY_SECTOR_DELAY==8'h00) + begin + CLK_CNT <= CLK_CNT + 1; + end + else + begin + FLOPPY_SECTOR_DELAY <= FLOPPY_SECTOR_DELAY-1; + end + end + + 7'h73: + begin + if(BIT_CNT==3'd0) + begin + if(FLOPPY_BYTE==`FD_TRACK_LEN||FLOPPY_SECTOR_BYTE==8'h99) + begin + FLOPPY_SECTOR_BYTE <= 8'h00; + end + else + begin + FLOPPY_SECTOR_BYTE <= FLOPPY_SECTOR_BYTE+1; + end + end + + if(BIT_CNT==3'd0 && FLOPPY_BYTE==`FD_TRACK_LEN) + begin + FLOPPY_BYTE <= 12'h000; + //FLOPPY_SECTOR_BYTE <= 8'h00; + + FLOPPY_ADDRESS_R <= {TRACK, 4'b0}; + SYNC_CNT <= 19'b0; + + CLK_CNT <= 7'h00; + end + else + begin + CLK_CNT <= 7'h01; + end + end + + default: + begin + FDC_RAM_R <= 1'b0; + FDC_RAM_W <= 1'b0; + CLK_CNT <= CLK_CNT + 1; + end + endcase + end + end + end + end +end + + +always @(posedge FDC_CLK or negedge RESET_N) +begin + if(~RESET_N) + begin + PHASE0 <= 1'b0; + PHASE1 <= 1'b0; + PHASE2 <= 1'b0; + PHASE3 <= 1'b0; + MOTOR <= 1'b0; + DRIVE1 <= 1'b0; + DRIVE2 <= 1'b0; + WRITE_REQUEST_N <= 1'b1; + WRITE_DATA_BIT <= 1'b0; + end + else + begin + PHASE0 <= FDC_CT[0]; + PHASE1 <= FDC_CT[1]; + PHASE2 <= FDC_CT[2]; + PHASE3 <= FDC_CT[3]; + DRIVE1 <= FDC_CT[4]; + DRIVE2 <= FDC_CT[7]; + MOTOR <= (FDC_CT[4])|(FDC_CT[7]); + WRITE_REQUEST_N <= FDC_CT[6]; + WRITE_DATA_BIT <= FDC_CT[5]; + end +end + +//assign DRIVE1_X = DRIVE1 & MOTOR; +//assign DRIVE2_X = !DRIVE1 & MOTOR; + +assign DRIVE1_X = DRIVE1 & MOTOR; +assign DRIVE2_X = DRIVE2 & MOTOR; + +assign DRIVE1_FLOPPY_WP = ~SW[0]; +assign DRIVE2_FLOPPY_WP = ~SW[1]; + +assign FDC_WP = DRIVE1?DRIVE1_FLOPPY_WP: + DRIVE2?DRIVE2_FLOPPY_WP: + 1'b1; + + +assign DRIVE1_EN = (DRIVE1) & MOTOR; +assign DRIVE2_EN = (DRIVE2) & MOTOR; + + +assign TRACK = (DRIVE1_EN) ? {1'b0,TRACK1}: + (DRIVE2_EN) ? {1'b1,TRACK2}: + 14'b0; + +assign TRACK1_UP = TRACK1 + `FD_TRACK_STEP; +assign TRACK1_DOWN = TRACK1 - `FD_TRACK_STEP; +assign TRACK2_UP = TRACK2 + `FD_TRACK_STEP; +assign TRACK2_DOWN = TRACK2 - `FD_TRACK_STEP; + + +//assign FLOPPY_ADDRESS_R = {TRACK, 4'b0} + {5'b00000, FLOPPY_BYTE}; + + +//always @ (posedge PH_2) +always @(negedge FDC_CLK) +begin + PHASE0_1 <= PHASE0; + PHASE0_2 <= PHASE0_1; // Delay 2 clock cycles + PHASE1_1 <= PHASE1; + PHASE1_2 <= PHASE1_1; // Delay 2 clock cycles + PHASE2_1 <= PHASE2; + PHASE2_2 <= PHASE2_1; // Delay 2 clock cycles + PHASE3_1 <= PHASE3; + PHASE3_2 <= PHASE3_1; // Delay 2 clock cycles +end + +always @(posedge FDC_CLK or negedge RESET_N) +begin + if(~RESET_N) + begin + STEPPER1 <= 2'b00; + STEPPER2 <= 2'b00; + TRACK1 <= 13'd0; + TRACK2 <= 13'd0; + + TRACK1_NO <= 8'd0; + TRACK2_NO <= 8'd0; + end + else + begin +// if(DRIVE1^DRIVE_SWAP) + if(DRIVE1) + begin + case ({PHASE0_2, PHASE1_2, PHASE2_2, PHASE3_2}) + 4'b1000: + begin + if(STEPPER1 == 2'b11) + begin + //if(TRACK1 != `FD_MAX_LEN) + if(TRACK1_NO != `FD_MAX_TRACK_NO) + begin + TRACK1 <= TRACK1_UP; + TRACK1_NO <= TRACK1_NO+1; + STEPPER1 <= 2'b00; + end + end + else + if(STEPPER1 == 2'b01) + begin + //if(TRACK1 != 17'h0) + if(TRACK1_NO != 8'd0) + begin + TRACK1 <= TRACK1_DOWN; + TRACK1_NO <= TRACK1_NO-1; + STEPPER1 <= 2'b00; + end + end + end + 4'b0100: + begin + if(STEPPER1 == 2'b00) + begin + //if(TRACK1 != `FD_MAX_LEN) + if(TRACK1_NO != `FD_MAX_TRACK_NO) + begin + TRACK1 <= TRACK1_UP; + TRACK1_NO <= TRACK1_NO+1; + STEPPER1 <= 2'b01; + end + end + else + if(STEPPER1 == 2'b10) + begin + //if(TRACK1 != 17'h0) + if(TRACK1_NO != 8'd0) + begin + TRACK1 <= TRACK1_DOWN; + TRACK1_NO <= TRACK1_NO-1; + STEPPER1 <= 2'b01; + end + end + end + 4'b0010: + begin + if(STEPPER1 == 2'b01) + begin + //if(TRACK1 != `FD_MAX_LEN) + if(TRACK1_NO != `FD_MAX_TRACK_NO) + begin + TRACK1 <= TRACK1_UP; + TRACK1_NO <= TRACK1_NO+1; + STEPPER1 <= 2'b10; + end + end + else + if(STEPPER1 == 2'b11) + begin + //if(TRACK1 != 17'h0) + if(TRACK1_NO != 8'd0) + begin + TRACK1 <= TRACK1_DOWN; + TRACK1_NO <= TRACK1_NO-1; + STEPPER1 <= 2'b10; + end + end + end + 4'b0001: + begin + if(STEPPER1 == 2'b10) + begin + //if(TRACK1 != `FD_MAX_LEN) + if(TRACK1_NO != `FD_MAX_TRACK_NO) + begin + TRACK1 <= TRACK1_UP; + TRACK1_NO <= TRACK1_NO+1; + STEPPER1 <= 2'b11; + end + end + else + if(STEPPER1 == 2'b00) + begin + //if(TRACK1 != 17'h0) + if(TRACK1_NO != 8'd0) + begin + TRACK1 <= TRACK1_DOWN; + TRACK1_NO <= TRACK1_NO-1; + STEPPER1 <= 2'b11; + end + end + end + endcase + end + + else + + begin + case ({PHASE0_2, PHASE1_2, PHASE2_2, PHASE3_2}) + 4'b1000: + begin + if(STEPPER2 == 2'b11) + begin + //if(TRACK2 != `FD_MAX_LEN) + if(TRACK2_NO != `FD_MAX_TRACK_NO) + begin + TRACK2 <= TRACK2_UP; + TRACK2_NO <= TRACK2_NO+1; + STEPPER2 <= 2'b00; + end + end + else + if(STEPPER2 == 2'b01) + begin + //if(TRACK2 != 17'h0) + if(TRACK2_NO != 8'd0) + begin + TRACK2 <= TRACK2_DOWN; + TRACK2_NO <= TRACK2_NO-1; + STEPPER2 <= 2'b00; + end + end + end + 4'b0100: + begin + if(STEPPER2 == 2'b00) + begin + //if(TRACK2 != `FD_MAX_LEN) + if(TRACK2_NO != `FD_MAX_TRACK_NO) + begin + TRACK2 <= TRACK2_UP; + TRACK2_NO <= TRACK2_NO+1; + STEPPER2 <= 2'b01; + end + end + else + if(STEPPER2 == 2'b10) + begin + //if(TRACK2 != 17'h0) + if(TRACK2_NO != 8'd0) + begin + TRACK2 <= TRACK2_DOWN; + TRACK2_NO <= TRACK2_NO-1; + STEPPER2 <= 2'b01; + end + end + end + 4'b0010: + begin + if(STEPPER2 == 2'b01) + begin + //if(TRACK2 != `FD_MAX_LEN) + if(TRACK2_NO != `FD_MAX_TRACK_NO) + begin + TRACK2 <= TRACK2_UP; + TRACK2_NO <= TRACK2_NO+1; + STEPPER2 <= 2'b10; + end + end + else + if(STEPPER2 == 2'b11) + begin + //if(TRACK2 != 17'h0) + if(TRACK2_NO != 8'd0) + begin + TRACK2 <= TRACK2_DOWN; + TRACK2_NO <= TRACK2_NO-1; + STEPPER2 <= 2'b10; + end + end + end + 4'b0001: + begin + if(STEPPER2 == 2'b10) + begin + //if(TRACK2 != `FD_MAX_LEN) + if(TRACK2_NO != `FD_MAX_TRACK_NO) + begin + TRACK2 <= TRACK2_UP; + TRACK2_NO <= TRACK2_NO+1; + STEPPER2 <= 2'b11; + end + end + else + if(STEPPER2 == 2'b00) + begin + //if(TRACK2 != 17'h0) + if(TRACK2_NO != 8'd0) + begin + TRACK2 <= TRACK2_DOWN; + TRACK2_NO <= TRACK2_NO-1; + STEPPER2 <= 2'b11; + end + end + end + endcase + end + end +end + + + +reg [19:0] LATCHED_FDC_CNT_CT; +reg [7:0] LATCHED_FDC_CT; + + +always @(posedge FDC_CLK or negedge RESET_N) +begin + if(~RESET_N) + begin + LATCHED_FDC_CT <= 8'hFF; + //FDC_SIG_CLK <= 1'b0; + LATCHED_FDC_CNT_CT <= 20'hFFFFF; + end + else + begin + LATCHED_FDC_CT <= FDC_CT; + LATCHED_FDC_CNT_CT <= FDC_CNT_CT; + //FDC_SIG_CLK <= (LATCHED_FDC_CT!=FDC_CT); + end +end + +assign FDC_SIG = (FDC_CNT[7]|FDC_CNT_POLL[7]|FDC_CNT_DATA[7]|FDC_CNT_CT[19]|(LATCHED_FDC_CNT_CT==0)); + + +endmodule