Revision 77
Added by markw about 11 years ago
de1/atari800core.qsf | ||
---|---|---|
set_global_assignment -name QIP_FILE pll.qip
|
||
set_global_assignment -name VHDL_FILE sram.vhdl
|
||
set_global_assignment -name VHDL_FILE sync_switches.vhd
|
||
set_global_assignment -name VHDL_FILE zpu_rom.vhdl
|
||
|
de1/atari800core_de1.vhd | ||
---|---|---|
|
||
signal SDRAM_REFRESH : std_logic;
|
||
|
||
signal SYSTEM_RESET_REQUEST: std_logic;
|
||
|
||
-- pokey keyboard
|
||
SIGNAL KEYBOARD_SCAN : std_logic_vector(5 downto 0);
|
||
SIGNAL KEYBOARD_RESPONSE : std_logic_vector(1 downto 0);
|
||
... | ... | |
SIGNAL CONSOL_SELECT : std_logic;
|
||
SIGNAL CONSOL_OPTION : std_logic;
|
||
|
||
-- 6502 throttling
|
||
SIGNAL THROTTLE_COUNT_6502 : std_logic_vector(5 downto 0);
|
||
|
||
-- SIO
|
||
SIGNAL SIO_RXD : std_logic;
|
||
SIGNAL SIO_COMMAND : std_logic;
|
||
... | ... | |
signal AUDIO_LEFT : std_logic_vector(15 downto 0);
|
||
signal AUDIO_RIGHT : std_logic_vector(15 downto 0);
|
||
|
||
-- dma/virtual drive
|
||
signal DMA_ADDR_FETCH : std_logic_vector(23 downto 0);
|
||
signal DMA_WRITE_DATA : std_logic_vector(31 downto 0);
|
||
signal DMA_FETCH : std_logic;
|
||
signal DMA_32BIT_WRITE_ENABLE : std_logic;
|
||
signal DMA_16BIT_WRITE_ENABLE : std_logic;
|
||
signal DMA_8BIT_WRITE_ENABLE : std_logic;
|
||
signal DMA_READ_ENABLE : std_logic;
|
||
signal DMA_MEMORY_READY : std_logic;
|
||
signal DMA_MEMORY_DATA : std_logic_vector(31 downto 0);
|
||
|
||
signal ZPU_ADDR_ROM : std_logic_vector(15 downto 0);
|
||
signal ZPU_ROM_DATA : std_logic_vector(31 downto 0);
|
||
|
||
signal ZPU_OUT1 : std_logic_vector(31 downto 0);
|
||
signal ZPU_OUT2 : std_logic_vector(31 downto 0);
|
||
signal ZPU_OUT3 : std_logic_vector(31 downto 0);
|
||
signal ZPU_OUT4 : std_logic_vector(31 downto 0);
|
||
|
||
signal zpu_pokey_enable : std_logic;
|
||
signal zpu_sio_txd : std_logic;
|
||
signal zpu_sio_rxd : std_logic;
|
||
signal zpu_sio_command : std_logic;
|
||
|
||
SIGNAL FKEYS : std_logic_vector(11 downto 0);
|
||
|
||
-- system control from zpu
|
||
signal ram_select : std_logic_vector(2 downto 0);
|
||
signal rom_select : std_logic_vector(5 downto 0);
|
||
signal reset_atari : std_logic;
|
||
signal pause_atari : std_logic;
|
||
SIGNAL speed_6502 : std_logic_vector(5 downto 0);
|
||
|
||
BEGIN
|
||
|
||
-- ANYTHING NOT CONNECTED...
|
||
... | ... | |
FL_RST_N <= '1';
|
||
FL_ADDR <= (others=>'0');
|
||
|
||
SD_CLK <= '1';
|
||
SD_CMD <= '1';
|
||
SD_THREE <= '1';
|
||
|
||
LEDG <= (others=>'1');
|
||
LEDR <= (others=>'1');
|
||
|
||
SYSTEM_RESET_REQUEST <= '0';
|
||
|
||
-- TODO FUJI? Or Program counter or...
|
||
hexdecoder0 : entity work.hexdecoder
|
||
PORT MAP(CLK => CLK,
|
||
... | ... | |
)
|
||
PORT MAP(CLK_SYSTEM => CLK,
|
||
CLK_SDRAM => CLK_SDRAM,
|
||
RESET_N => RESET_N and not(SYSTEM_RESET_REQUEST),
|
||
RESET_N => RESET_N,
|
||
READ_EN => SDRAM_READ_ENABLE,
|
||
WRITE_EN => SDRAM_WRITE_ENABLE,
|
||
REQUEST => SDRAM_REQUEST,
|
||
... | ... | |
internalromram1 : entity work.internalromram
|
||
GENERIC MAP
|
||
(
|
||
internal_rom => 1,
|
||
internal_rom => 0,
|
||
internal_ram => 0
|
||
)
|
||
PORT MAP (
|
||
... | ... | |
-- for I in 0 to 35 generate
|
||
-- gpio_1(I) <= gpio_1_out(I) when gpio_1_dir_out(I)='1' else 'Z';
|
||
-- end generate gpio1_gen;
|
||
|
||
|
||
--b2v_inst19 : entity work.gpio
|
||
--PORT MAP(clk => CLK,
|
||
-- gpio_enable => GPIO_ENABLE,
|
||
... | ... | |
|
||
CONSOL_START => CONSOL_START,
|
||
CONSOL_SELECT => CONSOL_SELECT,
|
||
CONSOL_OPTION => CONSOL_OPTION
|
||
CONSOL_OPTION => CONSOL_OPTION,
|
||
|
||
-- TODO - reset!
|
||
FKEYS => FKEYS
|
||
);
|
||
|
||
-- SIO
|
||
SIO_RXD <= UART_RXD;
|
||
-- TODO combine
|
||
--SIO_RXD <= UART_RXD;
|
||
UART_TXD <= SIO_TXD;
|
||
GPIO_0(1) <= SIO_COMMAND;
|
||
|
||
-- THROTTLE
|
||
THROTTLE_COUNT_6502 <= std_logic_vector(to_unsigned(1,6));
|
||
zpu_sio_command <= SIO_COMMAND;
|
||
zpu_sio_rxd <= SIO_TXD;
|
||
SIO_RXD <= zpu_sio_txd;
|
||
|
||
-- VIDEO
|
||
VGA_HS <= not(VGA_HS_RAW xor VGA_VS_RAW);
|
||
... | ... | |
PORT MAP
|
||
(
|
||
CLK => CLK,
|
||
RESET_N => RESET_N and SDRAM_RESET_N and not(SYSTEM_RESET_REQUEST),
|
||
RESET_N => RESET_N and SDRAM_RESET_N and not(reset_atari),
|
||
|
||
VIDEO_VS => VGA_VS_RAW,
|
||
VIDEO_HS => VGA_HS_RAW,
|
||
... | ... | |
ROM_REQUEST => ROM_REQUEST,
|
||
ROM_REQUEST_COMPLETE => ROM_REQUEST_COMPLETE,
|
||
|
||
DMA_FETCH => '0',
|
||
DMA_READ_ENABLE => '0',
|
||
DMA_32BIT_WRITE_ENABLE => '0',
|
||
DMA_16BIT_WRITE_ENABLE => '0',
|
||
DMA_8BIT_WRITE_ENABLE => '0',
|
||
DMA_ADDR => (others=>'0'),
|
||
DMA_WRITE_DATA => (others=>'0'),
|
||
MEMORY_READY_DMA => open,
|
||
DMA_FETCH => dma_fetch,
|
||
DMA_READ_ENABLE => dma_read_enable,
|
||
DMA_32BIT_WRITE_ENABLE => dma_32bit_write_enable,
|
||
DMA_16BIT_WRITE_ENABLE => dma_16bit_write_enable,
|
||
DMA_8BIT_WRITE_ENABLE => dma_8bit_write_enable,
|
||
DMA_ADDR => dma_addr_fetch,
|
||
DMA_WRITE_DATA => dma_write_data,
|
||
MEMORY_READY_DMA => dma_memory_ready,
|
||
--DMA_MEMORY_DATA => dma_memory_data,
|
||
PBI_SNOOP_DATA => DMA_MEMORY_DATA,
|
||
|
||
RAM_SELECT => "110",
|
||
ROM_SELECT => (others=>'0'),
|
||
RAM_SELECT => ram_select,
|
||
ROM_SELECT => rom_select,
|
||
CART_EMULATION_SELECT => "0000000",
|
||
CART_EMULATION_ACTIVATE => '0',
|
||
PAL => '1',
|
||
USE_SDRAM => '1',
|
||
ROM_IN_RAM => '0',
|
||
THROTTLE_COUNT_6502 => THROTTLE_COUNT_6502,
|
||
HALT => '0'
|
||
ROM_IN_RAM => '1',
|
||
THROTTLE_COUNT_6502 => speed_6502,
|
||
HALT => pause_atari
|
||
);
|
||
|
||
zpu: entity work.zpucore
|
||
GENERIC MAP
|
||
(
|
||
platform => 1,
|
||
spi_clock_div => 1 -- 28MHz/2. Max for SD cards is 25MHz...
|
||
)
|
||
PORT MAP
|
||
(
|
||
-- standard...
|
||
CLK => CLK,
|
||
RESET_N => RESET_N and sdram_reset_n,
|
||
|
||
-- dma bus master (with many waitstates...)
|
||
ZPU_ADDR_FETCH => dma_addr_fetch,
|
||
ZPU_DATA_OUT => dma_write_data,
|
||
ZPU_FETCH => dma_fetch,
|
||
ZPU_32BIT_WRITE_ENABLE => dma_32bit_write_enable,
|
||
ZPU_16BIT_WRITE_ENABLE => dma_16bit_write_enable,
|
||
ZPU_8BIT_WRITE_ENABLE => dma_8bit_write_enable,
|
||
ZPU_READ_ENABLE => dma_read_enable,
|
||
ZPU_MEMORY_READY => dma_memory_ready,
|
||
ZPU_MEMORY_DATA => dma_memory_data,
|
||
|
||
-- rom bus master
|
||
-- data on next cycle after addr
|
||
ZPU_ADDR_ROM => zpu_addr_rom,
|
||
ZPU_ROM_DATA => zpu_rom_data,
|
||
|
||
-- spi master
|
||
-- Too painful to bit bang spi from zpu, so we have a hardware master in here
|
||
ZPU_SD_DAT0 => sd_data,
|
||
ZPU_SD_CLK => sd_clk,
|
||
ZPU_SD_CMD => sd_cmd,
|
||
ZPU_SD_DAT3 => sd_three,
|
||
|
||
-- SIO
|
||
-- Ditto for speaking to Atari, we have a built in Pokey
|
||
ZPU_POKEY_ENABLE => zpu_pokey_enable,
|
||
ZPU_SIO_TXD => zpu_sio_txd,
|
||
ZPU_SIO_RXD => zpu_sio_rxd,
|
||
ZPU_SIO_COMMAND => zpu_sio_command,
|
||
|
||
-- external control
|
||
-- switches etc. sector DMA blah blah.
|
||
ZPU_IN1 => X"00000"&FKEYS,
|
||
ZPU_IN2 => X"00000000",
|
||
ZPU_IN3 => X"00000000",
|
||
ZPU_IN4 => X"00000000",
|
||
|
||
-- ouputs - e.g. Atari system control, halt, throttle, rom select
|
||
ZPU_OUT1 => zpu_out1,
|
||
ZPU_OUT2 => zpu_out2,
|
||
ZPU_OUT3 => zpu_out3,
|
||
ZPU_OUT4 => zpu_out4
|
||
);
|
||
|
||
pause_atari <= zpu_out1(0);
|
||
reset_atari <= zpu_out1(1);
|
||
speed_6502 <= zpu_out1(7 downto 2);
|
||
ram_select <= zpu_out1(10 downto 8);
|
||
rom_select <= zpu_out1(16 downto 11);
|
||
|
||
zpu_rom1: entity work.zpu_rom
|
||
port map(
|
||
clock => clk,
|
||
address => zpu_addr_rom(13 downto 2),
|
||
q => zpu_rom_data
|
||
);
|
||
|
||
enable_179_clock_div_zpu_pokey : entity work.enable_divider
|
||
generic map (COUNT=>32) -- cycle_length
|
||
port map(clk=>clk,reset_n=>reset_n,enable_in=>'1',enable_out=>zpu_pokey_enable);
|
||
|
||
END vhdl;
|
de1/build.sh | ||
---|---|---|
cp i2sslave.vhdl build
|
||
cp sram.vhdl build
|
||
cp sync_switches.vhd build
|
||
cp zpu_rom.vhdl build
|
||
|
||
mkdir build/common
|
||
mkdir build/common/a8core
|
||
mkdir build/common/components
|
||
mkdir build/common/zpu
|
||
cp ../common/a8core/* ./build/common/a8core
|
||
cp ../common/components/* ./build/common/components
|
||
cp ../common/zpu/* ./build/common/zpu
|
||
|
||
cd build
|
||
../makeqsf ../atari800core.qsf ./common/a8core ./common/components
|
||
../makeqsf ../atari800core.qsf ./common/a8core ./common/components ./common/zpu
|
||
|
||
quartus_sh --flow compile atari800core
|
de1/zpu_rom.vhdl | ||
---|---|---|
|
||
--
|
||
--ROMsUsingBlockRAMResources.
|
||
--VHDLcodeforaROMwithregisteredoutput(template2)
|
||
--
|
||
library ieee;
|
||
use ieee.std_logic_1164.all;
|
||
use ieee.std_logic_unsigned.all;
|
||
|
||
entity zpu_rom is
|
||
port(
|
||
clock:in std_logic;
|
||
address:in std_logic_vector(11 downto 0);
|
||
q:out std_logic_vector(31 downto 0)
|
||
);
|
||
end zpu_rom;
|
||
|
||
architecture syn of zpu_rom is
|
||
type rom_type is array(0 to 4095) of std_logic_vector(31 downto 0);
|
||
signal ROM:rom_type:=
|
||
(
|
||
X"0b0b0b89",
|
||
X"ad040b0b",
|
||
X"0b0b0b0b",
|
||
X"0b0b0b0b",
|
||
X"0b0b0b0b",
|
||
X"0b0b0b0b",
|
||
X"0b0b0b0b",
|
||
X"0b0b0b0b",
|
||
X"0b0b0b0b",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"71fd0608",
|
||
X"72830609",
|
||
X"81058205",
|
||
X"832b2a83",
|
||
X"ffff0652",
|
||
X"04000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"71fd0608",
|
||
X"83ffff73",
|
||
X"83060981",
|
||
X"05820583",
|
||
X"2b2b0906",
|
||
X"7383ffff",
|
||
X"0b0b0b0b",
|
||
X"83a70400",
|
||
X"72098105",
|
||
X"72057373",
|
||
X"09060906",
|
||
X"73097306",
|
||
X"070a8106",
|
||
X"53510400",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"72722473",
|
||
X"732e0753",
|
||
X"51040000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"71737109",
|
||
X"71068106",
|
||
X"30720a10",
|
||
X"0a720a10",
|
||
X"0a31050a",
|
||
X"81065151",
|
||
X"53510400",
|
||
X"00000000",
|
||
X"72722673",
|
||
X"732e0753",
|
||
X"51040000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"0b0b0b88",
|
||
X"bc040000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"720a722b",
|
||
X"0a535104",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"72729f06",
|
||
X"0981050b",
|
||
X"0b0b889f",
|
||
X"05040000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"72722aff",
|
||
X"739f062a",
|
||
X"0974090a",
|
||
X"8106ff05",
|
||
X"06075351",
|
||
X"04000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"71715351",
|
||
X"020d0406",
|
||
X"73830609",
|
||
X"81058205",
|
||
X"832b0b2b",
|
||
X"0772fc06",
|
||
X"0c515104",
|
||
X"00000000",
|
||
X"72098105",
|
||
X"72050970",
|
||
X"81050906",
|
||
X"0a810653",
|
||
X"51040000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"72098105",
|
||
X"72050970",
|
||
X"81050906",
|
||
X"0a098106",
|
||
X"53510400",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"71098105",
|
||
X"52040000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"72720981",
|
||
X"05055351",
|
||
X"04000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"72097206",
|
||
X"73730906",
|
||
X"07535104",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"71fc0608",
|
||
X"72830609",
|
||
X"81058305",
|
||
X"1010102a",
|
||
X"81ff0652",
|
||
X"04000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"71fc0608",
|
||
X"0b0b80f8",
|
||
X"b8738306",
|
||
X"10100508",
|
||
X"060b0b0b",
|
||
X"88a20400",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"0b0b0b88",
|
||
X"ff040000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"0b0b0b88",
|
||
X"d8040000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"72097081",
|
||
X"0509060a",
|
||
X"8106ff05",
|
||
X"70547106",
|
||
X"73097274",
|
||
X"05ff0506",
|
||
X"07515151",
|
||
X"04000000",
|
||
X"72097081",
|
||
X"0509060a",
|
||
X"098106ff",
|
||
X"05705471",
|
||
X"06730972",
|
||
X"7405ff05",
|
||
X"06075151",
|
||
X"51040000",
|
||
X"05ff0504",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"810b80fb",
|
||
X"b00c5104",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00007181",
|
||
X"05520400",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000284",
|
||
X"05721010",
|
||
X"05520400",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00007171",
|
||
X"05ff0571",
|
||
X"5351020d",
|
||
X"04000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"00000000",
|
||
X"10101010",
|
||
X"10101010",
|
||
X"10101010",
|
||
X"10101010",
|
||
X"10101010",
|
||
X"10101010",
|
||
X"10101010",
|
||
X"10101053",
|
||
X"51047381",
|
||
X"ff067383",
|
||
X"06098105",
|
||
X"83051010",
|
||
X"102b0772",
|
||
X"fc060c51",
|
||
X"51043c04",
|
||
X"72728072",
|
||
X"8106ff05",
|
||
X"09720605",
|
||
X"71105272",
|
||
X"0a100a53",
|
||
X"72ed3851",
|
||
X"51535104",
|
||
X"83e08008",
|
||
X"83e08408",
|
||
X"83e08808",
|
||
X"757580f2",
|
||
X"e72d5050",
|
||
X"83e08008",
|
||
X"5683e088",
|
||
X"0c83e084",
|
||
X"0c83e080",
|
||
X"0c510483",
|
||
X"e0800883",
|
||
X"e0840883",
|
||
X"e0880875",
|
||
X"7580f0fb",
|
||
X"2d505083",
|
||
X"e0800856",
|
||
X"83e0880c",
|
||
X"83e0840c",
|
||
X"83e0800c",
|
||
X"51040000",
|
||
X"800489aa",
|
||
X"0489aa0b",
|
||
X"97b30480",
|
||
X"3d0d80fc",
|
||
X"d4087008",
|
||
X"810683e0",
|
||
X"800c5182",
|
||
X"3d0d04ff",
|
||
X"3d0d80fc",
|
||
X"d4087008",
|
||
X"70fe0676",
|
||
X"07720c52",
|
||
X"52833d0d",
|
||
X"04803d0d",
|
||
X"80fcd408",
|
||
X"70087081",
|
||
X"2c810683",
|
||
X"e0800c51",
|
||
X"51823d0d",
|
||
X"04ff3d0d",
|
||
X"80fcd408",
|
||
X"700870fd",
|
||
X"06761007",
|
||
X"720c5252",
|
||
X"833d0d04",
|
||
X"803d0d80",
|
||
X"fcd40870",
|
||
X"0870822c",
|
||
X"bf0683e0",
|
||
X"800c5151",
|
||
X"823d0d04",
|
||
X"ff3d0d80",
|
||
X"fcd40870",
|
||
X"0870fe83",
|
||
X"0676822b",
|
||
X"07720c52",
|
||
X"52833d0d",
|
||
X"04803d0d",
|
||
X"80fcd408",
|
||
X"70087088",
|
||
X"2c870683",
|
||
X"e0800c51",
|
||
X"51823d0d",
|
||
X"04ff3d0d",
|
||
X"80fcd408",
|
||
X"700870f1",
|
||
X"ff067688",
|
||
X"2b07720c",
|
||
X"5252833d",
|
||
X"0d04803d",
|
||
X"0d80fcd4",
|
||
X"08700870",
|
||
X"8b2cbf06",
|
||
X"83e0800c",
|
||
X"5151823d",
|
||
X"0d04ff3d",
|
||
X"0d80fcd4",
|
||
X"08700870",
|
||
X"f88fff06",
|
||
X"768b2b07",
|
||
X"720c5252",
|
||
X"833d0d04",
|
||
X"803d0d80",
|
||
X"fce40870",
|
||
X"0870882c",
|
||
X"810683e0",
|
||
X"800c5151",
|
||
X"823d0d04",
|
||
X"803d0d80",
|
||
X"fce40870",
|
||
X"0870892c",
|
||
X"810683e0",
|
||
X"800c5151",
|
||
X"823d0d04",
|
||
X"803d0d80",
|
||
X"fce40870",
|
||
X"08708a2c",
|
||
X"810683e0",
|
||
X"800c5151",
|
||
X"823d0d04",
|
||
X"803d0d80",
|
||
X"fce40870",
|
||
X"08708b2c",
|
||
X"810683e0",
|
||
X"800c5151",
|
||
X"823d0d04",
|
||
X"fd3d0d75",
|
||
X"81e62987",
|
||
X"2a80fcc4",
|
||
X"0854730c",
|
||
X"853d0d04",
|
||
X"fe3d0d75",
|
||
X"75ff1953",
|
||
X"535370ff",
|
||
X"2e8d3872",
|
||
X"72708105",
|
||
X"5434ff11",
|
||
X"51f03984",
|
||
X"3d0d04fe",
|
||
X"3d0d7575",
|
||
X"ff195353",
|
||
X"5370ff2e",
|
||
X"8d387272",
|
||
X"70840554",
|
||
X"0cff1151",
|
||
X"f039843d",
|
||
X"0d04fe3d",
|
||
X"0d848080",
|
||
X"53805288",
|
||
X"800a51ff",
|
||
X"b33f8180",
|
||
X"80538052",
|
||
X"82800a51",
|
||
X"c63f843d",
|
||
X"0d04803d",
|
||
X"0d8151fc",
|
||
X"ce3f7280",
|
||
X"2e8338d2",
|
||
X"3f8151fc",
|
||
X"f03f8051",
|
||
X"fceb3f80",
|
||
X"51fcb83f",
|
||
X"823d0d04",
|
||
X"fd3d0d75",
|
||
X"52805480",
|
||
X"ff722588",
|
||
X"38810bff",
|
||
X"80135354",
|
||
X"ffbf1251",
|
||
X"70992686",
|
||
X"38e01252",
|
||
X"9e39ff9f",
|
||
X"12519971",
|
||
X"279538d0",
|
||
X"12e01370",
|
||
X"54545189",
|
||
X"71278838",
|
||
X"8f732783",
|
||
X"38805273",
|
||
X"802e8538",
|
||
X"81801252",
|
||
X"7181ff06",
|
||
X"83e0800c",
|
||
X"853d0d04",
|
||
X"803d0d86",
|
||
X"b8c05180",
|
||
X"71708105",
|
||
X"53347086",
|
||
X"c0c02e09",
|
||
X"8106f038",
|
||
X"823d0d04",
|
||
X"fe3d0d02",
|
||
X"97053351",
|
||
X"ff863f83",
|
||
X"e0800881",
|
||
X"ff0683e0",
|
||
X"9c085452",
|
||
X"8073249b",
|
||
X"3883e0b8",
|
||
X"08137283",
|
||
X"e0bc0807",
|
||
X"53537173",
|
||
X"3483e09c",
|
||
X"08810583",
|
||
X"e09c0c84",
|
||
X"3d0d04fa",
|
||
X"3d0d8280",
|
||
X"0a1b5580",
|
||
X"57883dfc",
|
||
X"05547953",
|
||
X"74527851",
|
||
X"b7ae3f88",
|
||
X"3d0d04fe",
|
||
X"3d0d83e0",
|
||
X"b0085274",
|
||
X"51bde83f",
|
||
X"83e08008",
|
||
X"8c387653",
|
||
X"755283e0",
|
||
X"b00851c7",
|
||
X"3f843d0d",
|
||
X"04fe3d0d",
|
||
X"83e0b008",
|
||
X"53755274",
|
||
X"51b8af3f",
|
||
X"83e08008",
|
||
X"8d387753",
|
||
X"765283e0",
|
||
X"b00851ff",
|
||
X"a23f843d",
|
||
X"0d04fe3d",
|
||
X"0d83e0b4",
|
||
X"0851b7af",
|
||
X"3f83e080",
|
||
X"08818080",
|
||
X"2e098106",
|
||
X"883883c1",
|
||
X"8080539b",
|
||
X"3983e0b4",
|
||
X"0851b793",
|
||
X"3f83e080",
|
||
X"0880d080",
|
||
X"2e098106",
|
||
X"933883c1",
|
||
X"b0805383",
|
||
X"e0800852",
|
||
X"83e0b408",
|
||
X"51fed83f",
|
||
X"843d0d04",
|
||
X"803d0dfa",
|
||
X"cc3f83e0",
|
||
X"80088726",
|
||
X"80cd3883",
|
||
X"e0800884",
|
||
X"2980f8c8",
|
||
X"05517008",
|
||
X"040b0b80",
|
||
X"f9b051b7",
|
||
X"390b0b80",
|
||
X"f9b451af",
|
||
X"390b0b80",
|
||
X"f9bc51a7",
|
||
X"390b0b80",
|
||
X"f9c8519f",
|
||
X"390b0b80",
|
||
X"f9d45197",
|
||
X"390b0b80",
|
||
X"f9e0518f",
|
||
X"390b0b80",
|
||
X"f9ec5187",
|
||
X"390b0b80",
|
||
X"f9f05170",
|
||
X"83e0800c",
|
||
X"823d0d04",
|
||
X"ee3d0d80",
|
||
X"43804280",
|
||
X"4180705a",
|
||
X"5bfd893f",
|
||
X"800b83e0",
|
||
X"9c0c800b",
|
||
X"83e0bc0c",
|
||
X"0b0b80f9",
|
||
X"f451b19d",
|
||
X"3f81800b",
|
||
X"83e0bc0c",
|
||
X"0b0b80f9",
|
||
X"f851b18d",
|
||
X"3f80d00b",
|
||
X"83e09c0c",
|
||
X"7830707a",
|
||
X"07802570",
|
||
X"872b83e0",
|
||
X"bc0c5155",
|
||
X"f8ee3f83",
|
||
X"e0800852",
|
||
X"0b0b80fa",
|
||
X"8051b0e5",
|
||
X"3f80f80b",
|
||
X"83e09c0c",
|
||
X"78813270",
|
||
X"30707207",
|
||
X"80257087",
|
||
X"2b83e0bc",
|
||
X"0c515656",
|
||
X"fea23f83",
|
||
X"e0800852",
|
||
X"0b0b80fa",
|
||
X"8c51b0b9",
|
||
X"3f81a00b",
|
||
X"83e09c0c",
|
||
X"78823270",
|
||
X"30707207",
|
||
X"80257087",
|
||
X"2b83e0bc",
|
||
X"0c515683",
|
||
X"e0b40852",
|
||
X"56b1ff3f",
|
||
X"83e08008",
|
||
X"520b0b80",
|
||
X"fa9451b0",
|
||
X"883f81f0",
|
||
X"0b83e09c",
|
||
X"0c810b83",
|
||
X"e0a05b58",
|
||
X"83e09c08",
|
||
X"82197a32",
|
||
X"70307072",
|
||
X"07802570",
|
||
X"872b83e0",
|
||
X"bc0c5157",
|
||
X"8e3d7055",
|
||
X"ff1b5457",
|
||
X"5757a5e6",
|
||
X"3f797084",
|
||
X"055b0851",
|
||
X"b1b43f74",
|
||
X"5483e080",
|
||
X"08537752",
|
||
X"0b0b80fa",
|
||
X"9c51afb9",
|
||
X"3fa81783",
|
||
X"e09c0c81",
|
||
X"18587785",
|
||
X"2e098106",
|
||
X"ffae3883",
|
||
X"900b83e0",
|
||
X"9c0c7887",
|
||
X"32703070",
|
||
X"72078025",
|
||
X"70872b83",
|
||
X"e0bc0c51",
|
||
X"560b0b80",
|
||
X"faac5256",
|
||
X"af833f83",
|
||
X"e00b83e0",
|
||
X"9c0c7888",
|
||
X"32703070",
|
||
X"72078025",
|
||
X"70872b83",
|
||
X"e0bc0c51",
|
||
X"560b0b80",
|
||
X"fac05256",
|
||
X"aedf3f86",
|
||
X"8da051f8",
|
||
X"c73f8052",
|
||
X"913d7052",
|
||
X"558bd43f",
|
||
X"83527451",
|
||
X"8bcd3f61",
|
||
X"19597880",
|
||
X"25853880",
|
||
X"59903988",
|
||
X"79258538",
|
||
X"88598739",
|
||
X"78882682",
|
||
X"ae387882",
|
||
X"2b5580f8",
|
||
X"e8150804",
|
||
X"f69a3f83",
|
||
X"e0800861",
|
||
X"57557581",
|
||
X"2e098106",
|
||
X"893883e0",
|
||
X"80081055",
|
||
X"903975ff",
|
||
X"2e098106",
|
||
X"883883e0",
|
||
X"8008812c",
|
||
X"55907525",
|
||
X"85389055",
|
||
X"88397480",
|
||
X"24833881",
|
||
X"557451f5",
|
||
X"f73f81e3",
|
||
X"39f68a3f",
|
||
X"83e08008",
|
||
X"61055574",
|
||
X"80258538",
|
||
X"80558839",
|
||
X"87752583",
|
||
X"38875574",
|
||
X"51f6863f",
|
||
X"81c13960",
|
||
X"87386280",
|
||
X"2e81b838",
|
||
X"a1d80b83",
|
||
X"e0d00c83",
|
||
X"e0b40851",
|
||
X"8d9f3ffa",
|
||
X"b53f81a3",
|
||
X"39605680",
|
||
X"76259838",
|
||
X"a0f70b83",
|
||
X"e0d00c83",
|
||
X"e0941570",
|
||
X"0852558d",
|
||
X"803f7408",
|
||
X"52913975",
|
||
X"80259138",
|
||
X"83e09415",
|
||
X"0851aef0",
|
||
X"3f8052fd",
|
||
X"1951b839",
|
||
X"62802e80",
|
||
X"ea3883e0",
|
||
X"94157008",
|
||
X"83e0a008",
|
||
X"720c83e0",
|
||
X"a00cfd1a",
|
||
X"70535155",
|
||
X"988d3f83",
|
||
X"e0800856",
|
||
X"80519883",
|
||
X"3f83e080",
|
||
X"08527451",
|
||
X"94853f75",
|
||
X"52805193",
|
||
X"fe3fb439",
|
||
X"62802eaf",
|
||
X"38a1d80b",
|
||
X"83e0d00c",
|
||
X"83e0b008",
|
||
X"518c963f",
|
||
X"83e0b008",
|
||
X"51adff3f",
|
||
X"9c800a53",
|
||
X"80c08052",
|
||
X"83e08008",
|
||
X"51f8d03f",
|
||
X"81558c39",
|
||
X"6287387a",
|
||
X"802efac5",
|
||
X"38805574",
|
||
X"83e0800c",
|
||
X"943d0d04",
|
||
X"fe3d0df4",
|
||
X"f73f83e0",
|
||
X"8008802e",
|
||
X"86388051",
|
||
X"80f639f4",
|
||
X"ff3f83e0",
|
||
X"800880ea",
|
||
X"38f5a53f",
|
||
X"83e08008",
|
||
X"802eaa38",
|
||
X"8151f2f7",
|
||
X"3f839b3f",
|
||
X"800b83e0",
|
||
X"9c0cf9f4",
|
||
X"3f83e080",
|
||
X"0853ff0b",
|
||
X"83e09c0c",
|
||
X"85ee3f72",
|
||
X"bd387251",
|
||
X"f2d53fbb",
|
||
X"39f4d93f",
|
||
X"83e08008",
|
||
X"802eb038",
|
||
X"8151f2c3",
|
||
X"3f82e73f",
|
||
X"a0f70b83",
|
||
X"e0d00c83",
|
||
X"e0a00851",
|
||
X"8af33fff",
|
||
X"0b83e09c",
|
||
X"0c85b93f",
|
||
X"83e0a008",
|
||
X"52805192",
|
||
X"b23f8151",
|
||
X"f5c43f84",
|
||
X"3d0d0483",
|
||
X"e08c0802",
|
||
X"83e08c0c",
|
||
X"fa3d0d80",
|
||
X"0b83e0a0",
|
||
X"0b83e08c",
|
||
X"08fc050c",
|
||
X"83e08c08",
|
||
X"f8050caf",
|
||
X"a73f83e0",
|
||
X"80088605",
|
||
X"fc0683e0",
|
||
X"8c08f405",
|
||
X"0c0283e0",
|
||
X"8c08f405",
|
||
X"08310d85",
|
||
X"3d7083e0",
|
||
X"8c08fc05",
|
||
X"08708405",
|
||
X"83e08c08",
|
||
X"fc050c0c",
|
||
X"51ac853f",
|
||
X"83e08c08",
|
||
X"f8050881",
|
||
X"0583e08c",
|
||
X"08f8050c",
|
||
X"83e08c08",
|
||
X"f8050886",
|
||
X"2e098106",
|
||
X"ffad3886",
|
||
X"88808051",
|
||
X"81aa3fff",
|
||
X"0b83e09c",
|
||
X"0c800b83",
|
||
X"e0bc0c86",
|
||
X"b8c00b83",
|
||
X"e0b80c81",
|
||
X"51f1803f",
|
||
X"8151f1a9",
|
||
X"3f8051f1",
|
||
X"a43f8151",
|
||
X"f1ce3f81",
|
||
X"51f2ab3f",
|
||
X"8251f1f5",
|
||
X"3f8e8452",
|
||
X"8051a99e",
|
||
X"3f848080",
|
||
X"52868480",
|
||
X"8051af84",
|
||
X"3f83e080",
|
||
X"0880d338",
|
||
X"94e63f80",
|
||
X"fe9c51b3",
|
||
X"bc3f83e0",
|
||
X"800883e0",
|
||
X"b408540b",
|
||
X"0b80fac8",
|
||
X"5383e080",
|
||
X"085283e0",
|
||
X"8c08f405",
|
||
X"0cae973f",
|
||
X"83e08008",
|
||
X"8438f5f6",
|
||
X"3f9c800a",
|
||
X"5480c080",
|
||
X"530b0b80",
|
||
X"fad45283",
|
||
X"e08c08f4",
|
||
X"050851f5",
|
||
X"b83f8151",
|
||
X"f3a83f9e",
|
||
X"cd3f8151",
|
||
X"f3a03ffc",
|
||
X"cf3ffc39",
|
||
X"7183e0c4",
|
||
X"0c888080",
|
||
X"0b83e0c0",
|
||
X"0c848080",
|
||
X"0b83e0c8",
|
||
X"0c04f03d",
|
||
X"0d80fbcc",
|
||
X"08547333",
|
||
X"83e0cc34",
|
||
X"83a08056",
|
||
X"83e0c408",
|
||
X"1683e0c0",
|
||
X"08175654",
|
||
X"74337434",
|
||
X"83e0c808",
|
||
X"16548074",
|
||
X"34811656",
|
||
X"7583a0a0",
|
||
X"2e098106",
|
||
X"db3883a4",
|
||
X"805683e0",
|
||
X"c4081683",
|
||
X"e0c00817",
|
||
X"56547433",
|
||
X"743483e0",
|
||
X"c8081654",
|
||
X"80743481",
|
||
X"16567583",
|
||
X"a4a02e09",
|
||
X"8106db38",
|
||
X"83a88056",
|
||
X"83e0c408",
|
||
X"1683e0c0",
|
||
X"08175654",
|
||
X"74337434",
|
||
X"83e0c808",
|
||
X"16548074",
|
||
X"34811656",
|
||
X"7583a890",
|
||
X"2e098106",
|
||
X"db3880fb",
|
||
X"cc0854ff",
|
||
X"74348056",
|
||
X"83e0c408",
|
||
X"1683e0c8",
|
||
X"08175555",
|
||
X"73337534",
|
||
X"81165675",
|
||
X"83a0802e",
|
||
X"098106e4",
|
||
X"3883b080",
|
||
X"5683e0c4",
|
||
X"081683e0",
|
||
X"c8081755",
|
||
X"55733375",
|
||
X"34811656",
|
||
X"75848080",
|
||
X"2e098106",
|
||
X"e438f2a4",
|
||
X"3f893d58",
|
||
X"a25380f9",
|
||
X"8c527751",
|
||
X"80dbc93f",
|
||
X"80578c80",
|
||
X"5683e0c8",
|
||
X"08167719",
|
||
X"55557333",
|
||
X"75348116",
|
||
X"81185856",
|
||
X"76a22e09",
|
||
X"8106e638",
|
||
X"80fbf008",
|
||
X"54867434",
|
||
X"80fbf408",
|
||
X"54807434",
|
||
X"80fbec08",
|
||
X"54807434",
|
||
X"80fbdc08",
|
||
X"54af7434",
|
||
X"80fbe808",
|
||
X"54bf7434",
|
||
X"80fbe408",
|
||
X"54807434",
|
||
X"80fbe008",
|
||
X"549f7434",
|
||
X"80fbd808",
|
||
X"54807434",
|
||
X"80fbc408",
|
||
X"54e07434",
|
||
X"80fbbc08",
|
||
X"54767434",
|
||
X"80fbb808",
|
||
X"54837434",
|
||
X"80fbc008",
|
||
X"54827434",
|
||
X"923d0d04",
|
||
X"fe3d0d80",
|
||
X"5383e0c8",
|
||
X"081383e0",
|
||
X"c4081452",
|
||
X"52703372",
|
||
X"34811353",
|
||
X"7283a080",
|
||
X"2e098106",
|
||
X"e43883b0",
|
||
X"805383e0",
|
||
X"c8081383",
|
||
X"e0c40814",
|
||
X"52527033",
|
||
X"72348113",
|
||
X"53728480",
|
||
X"802e0981",
|
||
X"06e43883",
|
||
X"a0805383",
|
||
X"e0c80813",
|
||
X"83e0c408",
|
||
X"14525270",
|
||
X"33723481",
|
||
X"13537283",
|
||
X"a0a02e09",
|
||
X"8106e438",
|
||
X"83a48053",
|
||
X"83e0c808",
|
||
X"1383e0c4",
|
||
X"08145252",
|
||
X"70337234",
|
||
X"81135372",
|
||
X"83a4a02e",
|
||
X"098106e4",
|
||
X"3883a880",
|
||
X"5383e0c8",
|
||
X"081383e0",
|
||
X"c4081452",
|
||
X"52703372",
|
||
X"34811353",
|
||
X"7283a890",
|
||
X"2e098106",
|
||
X"e43880fb",
|
||
X"cc085183",
|
||
X"e0cc3371",
|
||
X"34843d0d",
|
||
X"04fe3d0d",
|
||
X"74538073",
|
||
X"0c800b84",
|
||
X"140c800b",
|
||
X"88140c80",
|
||
X"fbd00870",
|
||
X"337081ff",
|
||
X"0670812a",
|
||
X"81327081",
|
||
X"06515254",
|
||
X"51517080",
|
||
X"2e883881",
|
||
X"0b84140c",
|
||
X"93397181",
|
||
X"32708106",
|
||
X"51517080",
|
||
X"2e8638ff",
|
||
X"0b84140c",
|
||
X"71832a81",
|
||
X"32708106",
|
||
X"51517080",
|
||
X"2e863881",
|
||
X"730c9339",
|
||
X"71822a81",
|
||
X"32708106",
|
||
X"51517080",
|
||
X"2e8438ff",
|
||
X"730c80fb",
|
||
X"c8087033",
|
||
X"70097081",
|
||
X"06515151",
|
||
X"5170802e",
|
||
X"8638810b",
|
||
X"88140c84",
|
||
X"3d0d04fe",
|
||
X"3d0d7476",
|
||
X"54527151",
|
||
X"feeb3f72",
|
||
X"812ea238",
|
||
X"8173268d",
|
||
X"3872822e",
|
||
X"ab387283",
|
||
X"2e9f38e6",
|
||
X"397108e2",
|
||
X"38841208",
|
||
X"dd388812",
|
||
X"08d838a0",
|
||
X"39881208",
|
||
X"812e0981",
|
||
X"06cc3894",
|
||
X"39881208",
|
||
X"812e8d38",
|
||
X"71088938",
|
||
X"84120880",
|
||
X"2effb738",
|
||
X"843d0d04",
|
||
X"ffb83d0d",
|
||
X"800b80cc",
|
||
X"3d08538b",
|
||
X"3d705359",
|
||
X"5480c6fe",
|
||
X"3f80cc3d",
|
||
X"085280ca",
|
||
X"3dfdfc05",
|
||
X"5180c6ee",
|
||
X"3f893d33",
|
||
X"028405a1",
|
||
X"05330288",
|
||
X"05a20533",
|
||
X"59575573",
|
||
X"18703351",
|
||
X"5372802e",
|
||
X"be3872ae",
|
||
X"2e863881",
|
||
X"1454ec39",
|
||
X"80ca3dfe",
|
||
X"81111570",
|
||
X"33515458",
|
||
X"74732e09",
|
||
X"8106a038",
|
||
X"fe821814",
|
||
X"70335153",
|
||
X"75732e09",
|
||
X"81069038",
|
||
X"fe831814",
|
||
X"53817333",
|
||
X"54547673",
|
||
X"2e833880",
|
||
X"547383e0",
|
||
X"800c80ca",
|
||
X"3d0d04fc",
|
||
X"3d0d7670",
|
||
X"5255acaf",
|
||
X"3f83e080",
|
||
X"08548153",
|
||
X"83e08008",
|
||
X"80c13874",
|
||
X"51abf23f",
|
||
X"83e08008",
|
||
X"80faf453",
|
||
X"83e08008",
|
||
X"5253fec8",
|
||
X"3f83e080",
|
||
X"08a13880",
|
||
X"faf85272",
|
||
X"51feb93f",
|
||
X"83e08008",
|
||
X"923880fa",
|
||
X"fc527251",
|
||
X"feaa3f83",
|
||
X"e0800880",
|
||
X"2e833881",
|
||
X"54735372",
|
||
X"83e0800c",
|
||
X"863d0d04",
|
||
X"fd3d0d75",
|
||
X"705254ab",
|
||
X"ce3f8153",
|
||
X"83e08008",
|
||
X"97387351",
|
||
X"ab973f80",
|
||
X"fb805283",
|
||
X"e0800851",
|
||
X"fdf23f83",
|
||
X"e0800853",
|
||
X"7283e080",
|
||
X"0c853d0d",
|
||
X"04e03d0d",
|
||
X"a33d0870",
|
||
X"525ea1e6",
|
||
X"3f83e080",
|
||
X"0833943d",
|
||
X"56547394",
|
||
X"3880feac",
|
||
X"52745184",
|
||
X"d1397d52",
|
||
X"7851a4d4",
|
||
X"3f84dc39",
|
||
X"7d51a1ce",
|
||
X"3f83e080",
|
||
X"08527451",
|
||
X"a0fe3f83",
|
||
X"e0d00852",
|
||
X"933d7052",
|
||
X"5ba7b13f",
|
||
X"83e08008",
|
||
X"59800b83",
|
||
X"e0800855",
|
||
X"5c83e080",
|
||
X"087c2e94",
|
||
X"38811c74",
|
||
X"525caab2",
|
||
X"3f83e080",
|
||
X"085483e0",
|
||
X"8008ee38",
|
||
X"805aff7a",
|
||
X"437a427a",
|
||
X"415f7909",
|
||
X"709f2c7b",
|
||
X"065b547b",
|
||
X"7a248438",
|
||
X"ff1c5af6",
|
||
X"1a700970",
|
||
X"9f2c7206",
|
||
X"7bff125a",
|
||
X"5a525555",
|
||
X"80752595",
|
||
X"387651a9",
|
||
X"f13f83e0",
|
||
X"800876ff",
|
||
X"18585557",
|
||
X"738024ed",
|
||
X"38747f2e",
|
||
X"8638eaa4",
|
||
X"3f745f78",
|
||
X"ff1b7058",
|
||
X"5e58807a",
|
||
X"25953877",
|
||
X"51a9c73f",
|
||
X"83e08008",
|
||
X"76ff1858",
|
||
X"55587380",
|
||
X"24ed3880",
|
||
X"0b83e09c",
|
||
X"0c800b83",
|
||
X"e0bc0c80",
|
||
X"fb84519e",
|
||
X"983f8180",
|
||
X"0b83e0bc",
|
||
X"0c80fb8c",
|
||
X"519e8a3f",
|
||
X"a80b83e0",
|
||
X"9c0c7680",
|
||
X"2e80e438",
|
||
X"83e09c08",
|
||
X"77793270",
|
||
X"30707207",
|
||
X"80257087",
|
||
X"2b83e0bc",
|
||
X"0c515678",
|
||
X"535656a8",
|
||
X"fe3f83e0",
|
||
X"8008802e",
|
||
X"883880fb",
|
||
X"94519dd1",
|
||
X"3f7651a8",
|
||
X"c03f83e0",
|
||
X"80085280",
|
||
X"faa8519d",
|
||
X"c03f7651",
|
||
X"a8c83f83",
|
||
X"e0800883",
|
||
X"e09c0855",
|
||
X"57757425",
|
||
X"8638a816",
|
||
X"56f73975",
|
||
X"83e09c0c",
|
||
X"86f07624",
|
||
X"ff983887",
|
||
X"980b83e0",
|
||
X"9c0c7780",
|
||
X"2eb13877",
|
||
X"51a7fe3f",
|
||
X"83e08008",
|
||
X"785255a8",
|
Also available in: Unified diff
Added ZPU - it works. Need to add GPIO joystick back in...