MonZ80.vhd 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. --+-----------------------------------+-------------------------------------+--
  2. --| ___ ___ | (c) 2013-2014 William R Sowerbutts |--
  3. --| ___ ___ ___ ___( _ ) / _ \ | will@sowerbutts.com |--
  4. --| / __|/ _ \ / __|_ / _ \| | | | | |--
  5. --| \__ \ (_) | (__ / / (_) | |_| | | A Z80 FPGA computer, just for fun |--
  6. --| |___/\___/ \___/___\___/ \___/ | |--
  7. --| | http://sowerbutts.com/ |--
  8. --+-----------------------------------+-------------------------------------+--
  9. --| An inferrable 4KB ROM to contain the monitor program |--
  10. --+-------------------------------------------------------------------------+--
  11. --
  12. -- MonZ80_template.vhd contains the template VHDL for the ROM but no actual
  13. -- data. The "ROMHERE" string is replaced by byte data by the "make_vhdl_rom"
  14. -- tool in software/tools which is invoked to generate "MonZ80.vhd" after
  15. -- the monitor program has been assembled.
  16. library ieee;
  17. use ieee.std_logic_1164.all;
  18. use ieee.numeric_std.all;
  19. entity MonZ80 is
  20. port(
  21. clk : in std_logic;
  22. a : in std_logic_vector(11 downto 0);
  23. d : out std_logic_vector(7 downto 0)
  24. );
  25. end MonZ80;
  26. architecture arch of MonZ80 is
  27. constant byte_rom_WIDTH: integer := 8;
  28. type byte_rom_type is array (0 to 4095) of std_logic_vector(byte_rom_WIDTH-1 downto 0);
  29. signal address_latch : std_logic_vector(11 downto 0) := (others => '0');
  30. -- actually memory cells
  31. signal byte_rom : byte_rom_type := (
  32. -- ROM contents follows
  33. X"DB", X"20", X"47", X"F3", X"3E", X"0F", X"D3", X"F8", X"3E", X"20", X"D3", X"FC", X"AF", X"D3", X"FD", X"3E",
  34. X"03", X"D3", X"FB", X"3E", X"0E", X"D3", X"F8", X"3E", X"20", X"D3", X"FC", X"3E", X"01", X"D3", X"FD", X"3E",
  35. X"03", X"D3", X"FB", X"C3", X"26", X"F0", X"AF", X"D3", X"F8", X"D3", X"FC", X"D3", X"FD", X"3E", X"03", X"D3",
  36. X"FB", X"78", X"31", X"00", X"F0", X"21", X"27", X"F7", X"CD", X"0B", X"F6", X"21", X"00", X"00", X"3E", X"01",
  37. X"D3", X"F8", X"3E", X"03", X"D3", X"FB", X"7C", X"D3", X"FC", X"D3", X"21", X"7D", X"D3", X"FD", X"E5", X"21",
  38. X"00", X"10", X"11", X"01", X"10", X"01", X"FF", X"0F", X"36", X"00", X"ED", X"B0", X"E1", X"23", X"7D", X"FE",
  39. X"00", X"20", X"E3", X"7C", X"CD", X"57", X"F6", X"7C", X"FE", X"08", X"20", X"DA", X"CD", X"22", X"F6", X"AF",
  40. X"D3", X"21", X"AF", X"D3", X"FC", X"3C", X"D3", X"FD", X"31", X"00", X"F0", X"FD", X"21", X"00", X"EF", X"3E",
  41. X"C3", X"32", X"00", X"00", X"21", X"26", X"F0", X"22", X"01", X"00", X"AF", X"D3", X"21", X"21", X"41", X"F7",
  42. X"CD", X"0B", X"F6", X"DB", X"01", X"DB", X"00", X"CB", X"7F", X"20", X"F8", X"21", X"17", X"F8", X"CD", X"0B",
  43. X"F6", X"FD", X"E5", X"E1", X"CD", X"72", X"F6", X"CD", X"22", X"F6", X"DD", X"21", X"5F", X"FD", X"FD", X"E5",
  44. X"E1", X"7E", X"FE", X"00", X"28", X"E5", X"DD", X"5E", X"00", X"DD", X"56", X"01", X"CD", X"01", X"F6", X"CA",
  45. X"D9", X"F0", X"01", X"04", X"00", X"DD", X"09", X"DD", X"7E", X"00", X"DD", X"B6", X"01", X"FE", X"00", X"20",
  46. X"DD", X"21", X"1D", X"F8", X"CD", X"0B", X"F6", X"18", X"C2", X"DD", X"5E", X"02", X"DD", X"56", X"03", X"D5",
  47. X"DD", X"E1", X"DD", X"E9", X"21", X"42", X"FA", X"CD", X"0B", X"F6", X"C3", X"9B", X"F0", X"CD", X"EF", X"F6",
  48. X"CD", X"FF", X"F6", X"D5", X"CD", X"3F", X"F6", X"3E", X"3D", X"CD", X"65", X"F6", X"3E", X"20", X"CD", X"65",
  49. X"F6", X"C1", X"ED", X"78", X"CD", X"48", X"F6", X"CD", X"22", X"F6", X"CD", X"EF", X"F6", X"7E", X"FE", X"00",
  50. X"CA", X"9B", X"F0", X"18", X"D8", X"CD", X"EF", X"F6", X"CD", X"FF", X"F6", X"D5", X"CD", X"EF", X"F6", X"CD",
  51. X"FF", X"F6", X"7A", X"FE", X"00", X"20", X"31", X"C1", X"ED", X"59", X"03", X"CD", X"EF", X"F6", X"7E", X"FE",
  52. X"00", X"CA", X"9B", X"F0", X"C5", X"18", X"E5", X"CD", X"EF", X"F6", X"CD", X"FF", X"F6", X"D5", X"DD", X"E1",
  53. X"CD", X"EF", X"F6", X"7E", X"FE", X"00", X"CA", X"9B", X"F0", X"CD", X"05", X"F7", X"7A", X"FE", X"00", X"20",
  54. X"07", X"DD", X"73", X"00", X"DD", X"23", X"18", X"E8", X"21", X"5A", X"F8", X"CD", X"0B", X"F6", X"C3", X"9B",
  55. X"F0", X"CD", X"EF", X"F6", X"CD", X"FF", X"F6", X"D5", X"CD", X"EF", X"F6", X"CD", X"05", X"F7", X"7B", X"B2",
  56. X"FE", X"00", X"20", X"02", X"1E", X"01", X"E1", X"CD", X"7D", X"F1", X"C3", X"9B", X"F0", X"CD", X"2D", X"F6",
  57. X"3E", X"3A", X"CD", X"65", X"F6", X"3E", X"20", X"CD", X"65", X"F6", X"7E", X"CD", X"48", X"F6", X"23", X"1B",
  58. X"7B", X"B2", X"28", X"0C", X"7D", X"E6", X"0F", X"FE", X"00", X"20", X"EA", X"CD", X"22", X"F6", X"18", X"DD",
  59. X"CD", X"22", X"F6", X"C9", X"CD", X"EF", X"F6", X"CD", X"FF", X"F6", X"EB", X"01", X"78", X"F0", X"C5", X"E9",
  60. X"CD", X"EF", X"F6", X"CD", X"FF", X"F6", X"D5", X"3E", X"FF", X"D3", X"F8", X"7A", X"06", X"04", X"CB", X"3F",
  61. X"10", X"FC", X"D3", X"FC", X"06", X"04", X"7A", X"4B", X"CB", X"21", X"17", X"10", X"FB", X"D3", X"FD", X"79",
  62. X"F6", X"0F", X"D3", X"FE", X"3E", X"FC", X"D3", X"FF", X"DB", X"FA", X"FE", X"BA", X"20", X"31", X"DB", X"FA",
  63. X"FE", X"BE", X"20", X"2B", X"DB", X"FA", X"6F", X"DB", X"FA", X"67", X"79", X"D3", X"FE", X"AF", X"D3", X"FF",
  64. X"E5", X"21", X"F8", X"F8", X"CD", X"0B", X"F6", X"E1", X"E5", X"CD", X"2D", X"F6", X"CD", X"22", X"F6", X"0E",
  65. X"FA", X"16", X"10", X"06", X"00", X"ED", X"B2", X"15", X"20", X"FB", X"DD", X"E1", X"E1", X"DD", X"E9", X"21",
  66. X"24", X"F9", X"CD", X"0B", X"F6", X"C3", X"9B", X"F0", X"21", X"A6", X"F8", X"CD", X"0B", X"F6", X"DB", X"F8",
  67. X"F5", X"1E", X"00", X"7B", X"D3", X"F8", X"07", X"07", X"07", X"07", X"57", X"CD", X"48", X"F6", X"3E", X"00",
  68. X"CD", X"48", X"F6", X"3E", X"2D", X"CD", X"65", X"F6", X"7A", X"F6", X"0F", X"CD", X"48", X"F6", X"3E", X"FF",
  69. X"CD", X"48", X"F6", X"3E", X"09", X"CD", X"65", X"F6", X"DB", X"FC", X"CD", X"48", X"F6", X"DB", X"FD", X"CD",
  70. X"48", X"F6", X"3E", X"00", X"CD", X"48", X"F6", X"3E", X"30", X"CD", X"65", X"F6", X"3E", X"2D", X"CD", X"65",
  71. X"F6", X"DB", X"FC", X"CD", X"48", X"F6", X"DB", X"FD", X"CD", X"48", X"F6", X"3E", X"FF", X"CD", X"48", X"F6",
  72. X"3E", X"46", X"CD", X"65", X"F6", X"3E", X"09", X"CD", X"65", X"F6", X"3E", X"09", X"CD", X"65", X"F6", X"DB",
  73. X"FB", X"57", X"CD", X"48", X"F6", X"3E", X"20", X"CD", X"65", X"F6", X"7A", X"E6", X"02", X"28", X"06", X"21",
  74. X"D7", X"F8", X"CD", X"0B", X"F6", X"7A", X"E6", X"01", X"28", X"06", X"21", X"D1", X"F8", X"CD", X"0B", X"F6",
  75. X"CD", X"22", X"F6", X"1C", X"7B", X"FE", X"10", X"C2", X"23", X"F2", X"21", X"DE", X"F8", X"CD", X"0B", X"F6",
  76. X"3E", X"FF", X"D3", X"F8", X"DB", X"FC", X"CD", X"48", X"F6", X"DB", X"FD", X"CD", X"48", X"F6", X"DB", X"FE",
  77. X"CD", X"48", X"F6", X"DB", X"FF", X"CD", X"48", X"F6", X"CD", X"22", X"F6", X"F1", X"D3", X"F8", X"C3", X"9B",
  78. X"F0", X"CD", X"EF", X"F6", X"CD", X"FF", X"F6", X"D5", X"CD", X"EF", X"F6", X"CD", X"FF", X"F6", X"D5", X"CD",
  79. X"EF", X"F6", X"CD", X"FF", X"F6", X"D5", X"C1", X"D1", X"E1", X"ED", X"B0", X"C3", X"9B", X"F0", X"CD", X"EF",
  80. X"F6", X"7E", X"FE", X"00", X"28", X"06", X"CD", X"05", X"F7", X"D5", X"E1", X"F9", X"21", X"60", X"F9", X"CD",
  81. X"0B", X"F6", X"21", X"00", X"00", X"39", X"CD", X"2D", X"F6", X"CD", X"22", X"F6", X"C3", X"9B", X"F0", X"CD",
  82. X"EF", X"F6", X"7E", X"FE", X"00", X"28", X"06", X"CD", X"05", X"F7", X"D5", X"FD", X"E1", X"21", X"64", X"F9",
  83. X"CD", X"0B", X"F6", X"FD", X"E5", X"E1", X"CD", X"2D", X"F6", X"CD", X"22", X"F6", X"C3", X"9B", X"F0", X"CD",
  84. X"EF", X"F6", X"11", X"00", X"02", X"7E", X"FE", X"00", X"28", X"03", X"CD", X"05", X"F7", X"21", X"97", X"F9",
  85. X"CD", X"0B", X"F6", X"CD", X"3F", X"F6", X"CD", X"9C", X"F3", X"3E", X"0D", X"D3", X"F8", X"DB", X"FC", X"47",
  86. X"DB", X"FD", X"4F", X"C5", X"CD", X"22", X"F6", X"01", X"00", X"02", X"EB", X"CD", X"2D", X"F6", X"7D", X"E6",
  87. X"0F", X"FE", X"0F", X"20", X"05", X"CD", X"22", X"F6", X"18", X"05", X"3E", X"20", X"CD", X"65", X"F6", X"7C",
  88. X"D3", X"FC", X"7D", X"D3", X"FD", X"E5", X"C5", X"21", X"00", X"D0", X"11", X"01", X"D0", X"01", X"FF", X"0F",
  89. X"3E", X"E5", X"77", X"ED", X"B0", X"C1", X"E1", X"23", X"0B", X"78", X"B1", X"FE", X"00", X"20", X"CC", X"CD",
  90. X"22", X"F6", X"C1", X"78", X"D3", X"FC", X"79", X"D3", X"FD", X"C3", X"9B", X"F0", X"21", X"1B", X"FA", X"CD",
  91. X"0B", X"F6", X"CD", X"E6", X"F6", X"E6", X"DF", X"FE", X"59", X"C8", X"FE", X"4E", X"20", X"F4", X"CD", X"22",
  92. X"F6", X"E1", X"C3", X"9B", X"F0", X"E5", X"CD", X"74", X"F5", X"E1", X"CD", X"EF", X"F6", X"01", X"00", X"02",
  93. X"11", X"00", X"02", X"7E", X"FE", X"00", X"28", X"1A", X"CD", X"05", X"F7", X"CD", X"EF", X"F6", X"7E", X"FE",
  94. X"00", X"28", X"0F", X"D5", X"CD", X"05", X"F7", X"7A", X"E6", X"F0", X"FE", X"00", X"C2", X"58", X"F1", X"D5",
  95. X"C1", X"D1", X"21", X"B8", X"F9", X"CD", X"0B", X"F6", X"CD", X"3F", X"F6", X"21", X"D8", X"F9", X"CD", X"0B",
  96. X"F6", X"CD", X"36", X"F6", X"CD", X"9C", X"F3", X"CD", X"22", X"F6", X"3E", X"04", X"A7", X"CB", X"11", X"CB",
  97. X"10", X"3D", X"FE", X"00", X"20", X"F6", X"3E", X"0D", X"D3", X"F8", X"DB", X"FC", X"67", X"DB", X"FD", X"6F",
  98. X"E5", X"C5", X"E1", X"01", X"00", X"02", X"CD", X"3F", X"F6", X"7B", X"E6", X"0F", X"FE", X"0F", X"20", X"05",
  99. X"CD", X"22", X"F6", X"18", X"05", X"3E", X"20", X"CD", X"65", X"F6", X"7A", X"D3", X"FC", X"7B", X"D3", X"FD",
  100. X"D5", X"E5", X"CD", X"CC", X"F5", X"3E", X"0B", X"D3", X"1A", X"CD", X"61", X"F4", X"D3", X"1A", X"21", X"00",
  101. X"D0", X"D3", X"1A", X"DB", X"1B", X"77", X"23", X"7C", X"FE", X"E0", X"20", X"F5", X"CD", X"C7", X"F5", X"E1",
  102. X"11", X"10", X"00", X"19", X"D1", X"13", X"0B", X"78", X"B1", X"20", X"BB", X"CD", X"22", X"F6", X"C3", X"92",
  103. X"F3", X"7C", X"D3", X"1A", X"7D", X"D3", X"1A", X"AF", X"D3", X"1A", X"C9", X"E5", X"CD", X"74", X"F5", X"E1",
  104. X"CD", X"EF", X"F6", X"01", X"00", X"02", X"11", X"00", X"02", X"7E", X"FE", X"00", X"28", X"1A", X"CD", X"05",
  105. X"F7", X"CD", X"EF", X"F6", X"7E", X"FE", X"00", X"28", X"0F", X"D5", X"CD", X"05", X"F7", X"7A", X"E6", X"F0",
  106. X"FE", X"00", X"C2", X"58", X"F1", X"D5", X"C1", X"D1", X"21", X"EA", X"F9", X"CD", X"0B", X"F6", X"CD", X"3F",
  107. X"F6", X"21", X"0B", X"FA", X"CD", X"0B", X"F6", X"CD", X"36", X"F6", X"CD", X"9C", X"F3", X"CD", X"22", X"F6",
  108. X"3E", X"04", X"A7", X"CB", X"11", X"CB", X"10", X"3D", X"FE", X"00", X"20", X"F6", X"3E", X"0D", X"D3", X"F8",
  109. X"DB", X"FC", X"67", X"DB", X"FD", X"6F", X"E5", X"C5", X"E1", X"01", X"00", X"02", X"CD", X"3F", X"F6", X"7B",
  110. X"E6", X"0F", X"FE", X"0F", X"20", X"05", X"CD", X"22", X"F6", X"18", X"05", X"3E", X"20", X"CD", X"65", X"F6",
  111. X"D5", X"7A", X"D3", X"FC", X"7B", X"D3", X"FD", X"CD", X"49", X"F5", X"FE", X"00", X"28", X"4A", X"E5", X"CD",
  112. X"F2", X"F5", X"CD", X"CC", X"F5", X"3E", X"20", X"D3", X"1A", X"CD", X"61", X"F4", X"CD", X"C7", X"F5", X"11",
  113. X"00", X"D0", X"CD", X"F2", X"F5", X"CD", X"CC", X"F5", X"3E", X"02", X"D3", X"1A", X"CD", X"61", X"F4", X"1A",
  114. X"D3", X"1A", X"13", X"7B", X"FE", X"00", X"20", X"F7", X"CD", X"C7", X"F5", X"23", X"7A", X"FE", X"E0", X"20",
  115. X"E1", X"E1", X"CD", X"EA", X"F5", X"CD", X"49", X"F5", X"FE", X"00", X"28", X"0C", X"CD", X"22", X"F6", X"21",
  116. X"23", X"FA", X"CD", X"0B", X"F6", X"CD", X"58", X"F1", X"11", X"10", X"00", X"19", X"D1", X"13", X"0B", X"78",
  117. X"B1", X"20", X"89", X"CD", X"22", X"F6", X"C3", X"92", X"F3", X"E5", X"CD", X"CC", X"F5", X"3E", X"0B", X"D3",
  118. X"1A", X"CD", X"61", X"F4", X"D3", X"1A", X"21", X"00", X"D0", X"D3", X"1A", X"DB", X"1B", X"BE", X"20", X"0D",
  119. X"23", X"7C", X"FE", X"E0", X"20", X"F3", X"CD", X"C7", X"F5", X"E1", X"3E", X"00", X"C9", X"CD", X"C7", X"F5",
  120. X"E1", X"3E", X"FF", X"C9", X"CD", X"C3", X"F5", X"21", X"69", X"F9", X"CD", X"0B", X"F6", X"CD", X"CC", X"F5",
  121. X"3E", X"9F", X"D3", X"1A", X"AF", X"D3", X"1A", X"D3", X"1A", X"D3", X"1A", X"D3", X"1A", X"DB", X"1B", X"67",
  122. X"D3", X"1A", X"DB", X"1B", X"6F", X"D3", X"1A", X"DB", X"1B", X"5F", X"CD", X"C7", X"F5", X"CD", X"2D", X"F6",
  123. X"7B", X"CD", X"48", X"F6", X"7C", X"FE", X"C2", X"20", X"11", X"7D", X"FE", X"20", X"20", X"0C", X"7B", X"FE",
  124. X"17", X"20", X"07", X"21", X"83", X"F9", X"CD", X"0B", X"F6", X"C9", X"21", X"8B", X"F9", X"CD", X"0B", X"F6",
  125. X"C3", X"9B", X"F0", X"3E", X"01", X"D3", X"1C", X"3E", X"FF", X"D3", X"18", X"C9", X"3E", X"FE", X"D3", X"18",
  126. X"C9", X"CD", X"CC", X"F5", X"3E", X"06", X"D3", X"1A", X"CD", X"C7", X"F5", X"CD", X"CC", X"F5", X"3E", X"05",
  127. X"D3", X"1A", X"D3", X"1A", X"CD", X"C7", X"F5", X"DB", X"1B", X"C9", X"CD", X"DB", X"F5", X"CB", X"47", X"C8",
  128. X"18", X"F8", X"CD", X"DB", X"F5", X"CB", X"47", X"20", X"F9", X"CB", X"4F", X"C0", X"CD", X"D1", X"F5", X"18",
  129. X"F1", X"1A", X"FE", X"00", X"C8", X"BE", X"C0", X"13", X"23", X"18", X"F6", X"7E", X"A7", X"C8", X"CD", X"65",
  130. X"F6", X"23", X"18", X"F7", X"7E", X"A7", X"C8", X"CD", X"48", X"F6", X"3E", X"20", X"CD", X"65", X"F6", X"23",
  131. X"18", X"F2", X"3E", X"0D", X"CD", X"65", X"F6", X"3E", X"0A", X"CD", X"65", X"F6", X"C9", X"7C", X"CD", X"48",
  132. X"F6", X"7D", X"CD", X"48", X"F6", X"C9", X"78", X"CD", X"48", X"F6", X"79", X"CD", X"48", X"F6", X"C9", X"7A",
  133. X"CD", X"48", X"F6", X"7B", X"CD", X"48", X"F6", X"C9", X"C5", X"4F", X"1F", X"1F", X"1F", X"1F", X"CD", X"57",
  134. X"F6", X"79", X"CD", X"57", X"F6", X"C1", X"C9", X"E6", X"0F", X"FE", X"0A", X"38", X"02", X"C6", X"07", X"C6",
  135. X"30", X"CD", X"65", X"F6", X"C9", X"C5", X"47", X"DB", X"00", X"CB", X"77", X"20", X"FA", X"78", X"D3", X"01",
  136. X"C1", X"C9", X"0E", X"00", X"CD", X"E6", X"F6", X"FE", X"40", X"20", X"08", X"CD", X"65", X"F6", X"18", X"41",
  137. X"CD", X"E6", X"F6", X"FE", X"0D", X"28", X"36", X"FE", X"0A", X"28", X"32", X"FE", X"08", X"28", X"16", X"FE",
  138. X"7F", X"28", X"12", X"FE", X"20", X"DA", X"80", X"F6", X"FE", X"7F", X"D2", X"80", X"F6", X"77", X"23", X"0C",
  139. X"CD", X"65", X"F6", X"18", X"DB", X"79", X"FE", X"00", X"28", X"D6", X"2B", X"0D", X"3E", X"08", X"CD", X"65",
  140. X"F6", X"3E", X"20", X"CD", X"65", X"F6", X"3E", X"08", X"CD", X"65", X"F6", X"18", X"C3", X"3E", X"00", X"77",
  141. X"C9", X"CD", X"E6", X"F6", X"FE", X"0D", X"28", X"F5", X"FE", X"0A", X"28", X"F1", X"77", X"23", X"FE", X"20",
  142. X"28", X"05", X"CD", X"65", X"F6", X"18", X"EA", X"CD", X"E6", X"F6", X"FE", X"0D", X"28", X"DF", X"FE", X"0A",
  143. X"28", X"DB", X"77", X"23", X"18", X"F1", X"DB", X"00", X"CB", X"7F", X"28", X"FA", X"DB", X"01", X"C9", X"7E",
  144. X"FE", X"20", X"C0", X"23", X"18", X"F9", X"FE", X"61", X"D8", X"FE", X"7B", X"D0", X"E6", X"5F", X"C9", X"7E",
  145. X"FE", X"00", X"CA", X"58", X"F1", X"16", X"00", X"1E", X"00", X"7E", X"FE", X"30", X"D8", X"FE", X"40", X"38",
  146. X"02", X"D6", X"07", X"D6", X"30", X"E6", X"0F", X"C5", X"06", X"04", X"A7", X"CB", X"13", X"CB", X"12", X"10",
  147. X"F9", X"C1", X"B3", X"5F", X"23", X"18", X"E2", X"0D", X"0A", X"43", X"6F", X"6C", X"64", X"20", X"62", X"6F",
  148. X"6F", X"74", X"3A", X"20", X"7A", X"65", X"72", X"6F", X"69", X"6E", X"67", X"20", X"52", X"41", X"4D", X"20",
  149. X"00", X"0D", X"20", X"20", X"20", X"20", X"20", X"20", X"20", X"20", X"20", X"20", X"20", X"20", X"20", X"20",
  150. X"20", X"20", X"20", X"20", X"20", X"20", X"5F", X"5F", X"5F", X"20", X"20", X"20", X"5F", X"5F", X"5F", X"20",
  151. X"20", X"0D", X"0A", X"20", X"5F", X"5F", X"5F", X"20", X"20", X"5F", X"5F", X"5F", X"20", X"20", X"20", X"5F",
  152. X"5F", X"5F", X"20", X"5F", X"5F", X"5F", X"28", X"20", X"5F", X"20", X"29", X"20", X"2F", X"20", X"5F", X"20",
  153. X"5C", X"20", X"0D", X"0A", X"2F", X"20", X"5F", X"5F", X"7C", X"2F", X"20", X"5F", X"20", X"5C", X"20", X"2F",
  154. X"20", X"5F", X"5F", X"7C", X"5F", X"20", X"20", X"2F", X"20", X"5F", X"20", X"5C", X"7C", X"20", X"7C", X"20",
  155. X"7C", X"20", X"7C", X"0D", X"0A", X"5C", X"5F", X"5F", X"20", X"5C", X"20", X"28", X"5F", X"29", X"20", X"7C",
  156. X"20", X"28", X"5F", X"5F", X"20", X"2F", X"20", X"2F", X"20", X"28", X"5F", X"29", X"20", X"7C", X"20", X"7C",
  157. X"5F", X"7C", X"20", X"7C", X"0D", X"0A", X"7C", X"5F", X"5F", X"5F", X"2F", X"5C", X"5F", X"5F", X"5F", X"2F",
  158. X"20", X"5C", X"5F", X"5F", X"5F", X"2F", X"5F", X"5F", X"5F", X"5C", X"5F", X"5F", X"5F", X"2F", X"20", X"5C",
  159. X"5F", X"5F", X"5F", X"2F", X"20", X"0D", X"0A", X"5A", X"38", X"30", X"20", X"52", X"4F", X"4D", X"20", X"4D",
  160. X"6F", X"6E", X"69", X"74", X"6F", X"72", X"20", X"28", X"57", X"69", X"6C", X"6C", X"20", X"53", X"6F", X"77",
  161. X"65", X"72", X"62", X"75", X"74", X"74", X"73", X"2C", X"20", X"32", X"30", X"31", X"33", X"2D", X"31", X"32",
  162. X"2D", X"31", X"32", X"29", X"0D", X"0A", X"00", X"5A", X"38", X"30", X"3E", X"20", X"00", X"45", X"72", X"72",
  163. X"6F", X"72", X"20", X"72", X"65", X"64", X"75", X"63", X"65", X"73", X"0D", X"0A", X"59", X"6F", X"75", X"72",
  164. X"20", X"65", X"78", X"70", X"65", X"6E", X"73", X"69", X"76", X"65", X"20", X"63", X"6F", X"6D", X"70", X"75",
  165. X"74", X"65", X"72", X"0D", X"0A", X"54", X"6F", X"20", X"61", X"20", X"73", X"69", X"6D", X"70", X"6C", X"65",
  166. X"20", X"73", X"74", X"6F", X"6E", X"65", X"2E", X"0D", X"0A", X"00", X"45", X"72", X"72", X"6F", X"72", X"73",
  167. X"20", X"68", X"61", X"76", X"65", X"20", X"6F", X"63", X"63", X"75", X"72", X"72", X"65", X"64", X"2E", X"0D",
  168. X"0A", X"57", X"65", X"20", X"77", X"6F", X"6E", X"27", X"74", X"20", X"74", X"65", X"6C", X"6C", X"20", X"79",
  169. X"6F", X"75", X"20", X"77", X"68", X"65", X"72", X"65", X"20", X"6F", X"72", X"20", X"77", X"68", X"79", X"2E",
  170. X"0D", X"0A", X"4C", X"61", X"7A", X"79", X"20", X"70", X"72", X"6F", X"67", X"72", X"61", X"6D", X"6D", X"65",
  171. X"72", X"73", X"2E", X"0D", X"0A", X"00", X"56", X"69", X"72", X"74", X"75", X"61", X"6C", X"20", X"28", X"46",
  172. X"38", X"29", X"09", X"50", X"68", X"79", X"73", X"69", X"63", X"61", X"6C", X"20", X"28", X"46", X"43", X"20",
  173. X"46", X"44", X"29", X"09", X"46", X"6C", X"61", X"67", X"73", X"20", X"28", X"46", X"42", X"29", X"0D", X"0A",
  174. X"00", X"52", X"45", X"41", X"44", X"20", X"00", X"57", X"52", X"49", X"54", X"45", X"20", X"00", X"31", X"37",
  175. X"74", X"68", X"20", X"50", X"61", X"67", X"65", X"20", X"50", X"6F", X"69", X"6E", X"74", X"65", X"72", X"20",
  176. X"28", X"46", X"41", X"29", X"20", X"3D", X"20", X"00", X"4C", X"6F", X"61", X"64", X"69", X"6E", X"67", X"20",
  177. X"73", X"74", X"61", X"67", X"65", X"20", X"32", X"20", X"62", X"6F", X"6F", X"74", X"73", X"74", X"72", X"61",
  178. X"70", X"20", X"66", X"72", X"6F", X"6D", X"20", X"52", X"41", X"4D", X"20", X"64", X"69", X"73", X"6B", X"20",
  179. X"74", X"6F", X"20", X"00", X"42", X"61", X"64", X"20", X"6D", X"61", X"67", X"69", X"63", X"20", X"6E", X"75",
  180. X"6D", X"62", X"65", X"72", X"2E", X"20", X"47", X"65", X"6E", X"74", X"6C", X"65", X"6D", X"65", X"6E", X"2C",
  181. X"20", X"70", X"6C", X"65", X"61", X"73", X"65", X"20", X"63", X"68", X"65", X"63", X"6B", X"20", X"79", X"6F",
  182. X"75", X"72", X"20", X"52", X"41", X"4D", X"20", X"64", X"69", X"73", X"6B", X"73", X"2E", X"0D", X"0A", X"00",
  183. X"53", X"50", X"3D", X"00", X"42", X"55", X"46", X"3D", X"00", X"43", X"68", X"65", X"63", X"6B", X"69", X"6E",
  184. X"67", X"20", X"53", X"50", X"49", X"20", X"66", X"6C", X"61", X"73", X"68", X"20", X"74", X"79", X"70", X"65",
  185. X"3A", X"20", X"00", X"20", X"28", X"4F", X"4B", X"29", X"0D", X"0A", X"00", X"20", X"46", X"41", X"49", X"4C",
  186. X"21", X"20", X"3A", X"28", X"0D", X"0A", X"00", X"45", X"72", X"61", X"73", X"65", X"20", X"52", X"41", X"4D",
  187. X"20", X"64", X"69", X"73", X"6B", X"20", X"73", X"74", X"61", X"72", X"74", X"69", X"6E", X"67", X"20", X"61",
  188. X"74", X"20", X"70", X"61", X"67", X"65", X"20", X"00", X"52", X"65", X"61", X"64", X"20", X"52", X"41", X"4D",
  189. X"20", X"64", X"69", X"73", X"6B", X"20", X"73", X"74", X"61", X"72", X"74", X"69", X"6E", X"67", X"20", X"61",
  190. X"74", X"20", X"70", X"61", X"67", X"65", X"20", X"00", X"20", X"66", X"72", X"6F", X"6D", X"20", X"66", X"6C",
  191. X"61", X"73", X"68", X"20", X"70", X"61", X"67", X"65", X"20", X"00", X"57", X"72", X"69", X"74", X"65", X"20",
  192. X"52", X"41", X"4D", X"20", X"64", X"69", X"73", X"6B", X"20", X"73", X"74", X"61", X"72", X"74", X"69", X"6E",
  193. X"67", X"20", X"61", X"74", X"20", X"70", X"61", X"67", X"65", X"20", X"00", X"20", X"74", X"6F", X"20", X"66",
  194. X"6C", X"61", X"73", X"68", X"20", X"70", X"61", X"67", X"65", X"20", X"00", X"20", X"28", X"79", X"2F", X"6E",
  195. X"29", X"3F", X"00", X"46", X"6C", X"61", X"73", X"68", X"20", X"77", X"72", X"69", X"74", X"65", X"20", X"76",
  196. X"65", X"72", X"69", X"66", X"79", X"20", X"66", X"61", X"69", X"6C", X"65", X"64", X"20", X"3A", X"28", X"0D",
  197. X"0A", X"00", X"43", X"6F", X"6D", X"6D", X"61", X"6E", X"64", X"73", X"3A", X"0D", X"0A", X"09", X"64", X"6D",
  198. X"20", X"61", X"64", X"64", X"72", X"20", X"5B", X"6C", X"65", X"6E", X"5D", X"09", X"09", X"09", X"64", X"69",
  199. X"73", X"70", X"6C", X"61", X"79", X"20", X"6D", X"65", X"6D", X"6F", X"72", X"79", X"20", X"63", X"6F", X"6E",
  200. X"74", X"65", X"6E", X"74", X"73", X"20", X"66", X"72", X"6F", X"6D", X"20", X"61", X"64", X"64", X"72", X"20",
  201. X"66", X"6F", X"72", X"20", X"6C", X"65", X"6E", X"20", X"28", X"64", X"65", X"66", X"61", X"75", X"6C", X"74",
  202. X"20", X"31", X"29", X"20", X"62", X"79", X"74", X"65", X"73", X"0D", X"0A", X"09", X"77", X"6D", X"20", X"61",
  203. X"64", X"64", X"72", X"20", X"76", X"61", X"6C", X"20", X"5B", X"76", X"61", X"6C", X"2E", X"2E", X"2E", X"5D",
  204. X"09", X"09", X"77", X"72", X"69", X"74", X"65", X"20", X"62", X"79", X"74", X"65", X"73", X"20", X"74", X"6F",
  205. X"20", X"6D", X"65", X"6D", X"6F", X"72", X"79", X"20", X"73", X"74", X"61", X"72", X"74", X"69", X"6E", X"67",
  206. X"20", X"61", X"74", X"20", X"61", X"64", X"64", X"72", X"0D", X"0A", X"09", X"63", X"70", X"20", X"73", X"72",
  207. X"63", X"20", X"64", X"73", X"74", X"20", X"6C", X"65", X"6E", X"09", X"09", X"09", X"63", X"6F", X"70", X"79",
  208. X"20", X"6C", X"65", X"6E", X"20", X"62", X"79", X"74", X"65", X"73", X"20", X"66", X"72", X"6F", X"6D", X"20",
  209. X"73", X"72", X"63", X"20", X"74", X"6F", X"20", X"64", X"73", X"74", X"0D", X"0A", X"09", X"72", X"75", X"6E",
  210. X"20", X"61", X"64", X"64", X"72", X"09", X"09", X"09", X"72", X"75", X"6E", X"20", X"63", X"6F", X"64", X"65",
  211. X"20", X"61", X"74", X"20", X"61", X"64", X"64", X"72", X"0D", X"0A", X"09", X"69", X"6E", X"20", X"61", X"64",
  212. X"64", X"72", X"09", X"09", X"09", X"09", X"72", X"65", X"61", X"64", X"20", X"49", X"2F", X"4F", X"20", X"70",
  213. X"6F", X"72", X"74", X"20", X"61", X"74", X"20", X"61", X"64", X"64", X"72", X"2C", X"20", X"64", X"69", X"73",
  214. X"70", X"6C", X"61", X"79", X"20", X"72", X"65", X"73", X"75", X"6C", X"74", X"0D", X"0A", X"09", X"6F", X"75",
  215. X"74", X"20", X"61", X"64", X"64", X"72", X"20", X"76", X"61", X"6C", X"20", X"5B", X"76", X"61", X"6C", X"2E",
  216. X"2E", X"2E", X"5D", X"09", X"09", X"77", X"72", X"69", X"74", X"65", X"20", X"49", X"2F", X"4F", X"20", X"70",
  217. X"6F", X"72", X"74", X"20", X"61", X"74", X"20", X"61", X"64", X"64", X"72", X"20", X"77", X"69", X"74", X"68",
  218. X"20", X"76", X"61", X"6C", X"0D", X"0A", X"09", X"6D", X"6D", X"75", X"09", X"09", X"09", X"09", X"73", X"68",
  219. X"6F", X"77", X"20", X"4D", X"4D", X"55", X"20", X"73", X"74", X"61", X"74", X"65", X"0D", X"0A", X"09", X"73",
  220. X"70", X"20", X"5B", X"61", X"64", X"64", X"72", X"5D", X"09", X"09", X"09", X"73", X"68", X"6F", X"77", X"20",
  221. X"73", X"74", X"61", X"63", X"6B", X"20", X"70", X"6F", X"69", X"6E", X"74", X"65", X"72", X"20", X"28", X"61",
  222. X"6E", X"64", X"20", X"73", X"65", X"74", X"20", X"74", X"6F", X"20", X"61", X"64", X"64", X"72", X"29", X"0D",
  223. X"0A", X"09", X"62", X"75", X"66", X"20", X"5B", X"61", X"64", X"64", X"72", X"5D", X"09", X"09", X"09", X"73",
  224. X"68", X"6F", X"77", X"20", X"69", X"6E", X"70", X"75", X"74", X"20", X"62", X"75", X"66", X"66", X"65", X"72",
  225. X"20", X"28", X"61", X"6E", X"64", X"20", X"73", X"65", X"74", X"20", X"74", X"6F", X"20", X"61", X"64", X"64",
  226. X"72", X"29", X"0D", X"0A", X"09", X"72", X"62", X"6F", X"6F", X"74", X"20", X"70", X"61", X"67", X"65", X"09",
  227. X"09", X"09", X"42", X"6F", X"6F", X"74", X"20", X"66", X"72", X"6F", X"6D", X"20", X"52", X"41", X"4D", X"20",
  228. X"64", X"69", X"73", X"6B", X"0D", X"0A", X"09", X"72", X"65", X"72", X"61", X"73", X"65", X"20", X"5B", X"70",
  229. X"61", X"67", X"65", X"5D", X"09", X"09", X"09", X"45", X"72", X"61", X"73", X"65", X"20", X"52", X"41", X"4D",
  230. X"20", X"64", X"69", X"73", X"6B", X"0D", X"0A", X"09", X"72", X"72", X"65", X"61", X"64", X"20", X"5B", X"70",
  231. X"61", X"67", X"65", X"5D", X"20", X"5B", X"66", X"6C", X"61", X"73", X"68", X"70", X"61", X"67", X"65", X"5D",
  232. X"09", X"52", X"65", X"61", X"64", X"20", X"52", X"41", X"4D", X"20", X"64", X"69", X"73", X"6B", X"20", X"66",
  233. X"72", X"6F", X"6D", X"20", X"53", X"50", X"49", X"20", X"66", X"6C", X"61", X"73", X"68", X"0D", X"0A", X"09",
  234. X"72", X"77", X"72", X"69", X"74", X"65", X"20", X"5B", X"70", X"61", X"67", X"65", X"5D", X"20", X"5B", X"66",
  235. X"6C", X"61", X"73", X"68", X"70", X"61", X"67", X"65", X"5D", X"09", X"57", X"72", X"69", X"74", X"65", X"20",
  236. X"52", X"41", X"4D", X"20", X"64", X"69", X"73", X"6B", X"20", X"74", X"6F", X"20", X"53", X"50", X"49", X"20",
  237. X"66", X"6C", X"61", X"73", X"68", X"0D", X"0A", X"09", X"40", X"5B", X"63", X"6D", X"64", X"5D", X"09", X"09",
  238. X"09", X"09", X"50", X"65", X"72", X"66", X"6F", X"72", X"6D", X"20", X"63", X"6F", X"6D", X"6D", X"61", X"6E",
  239. X"64", X"20", X"77", X"69", X"74", X"68", X"6F", X"75", X"74", X"20", X"65", X"63", X"68", X"6F", X"20", X"6F",
  240. X"72", X"20", X"74", X"65", X"72", X"6D", X"69", X"6E", X"61", X"6C", X"20", X"68", X"61", X"6E", X"64", X"6C",
  241. X"69", X"6E", X"67", X"20", X"28", X"62", X"75", X"6C", X"6B", X"20", X"6F", X"70", X"65", X"72", X"61", X"74",
  242. X"69", X"6F", X"6E", X"73", X"29", X"0D", X"0A", X"00", X"72", X"62", X"6F", X"6F", X"74", X"20", X"00", X"62",
  243. X"75", X"66", X"00", X"63", X"70", X"20", X"00", X"64", X"6D", X"20", X"00", X"68", X"65", X"6C", X"70", X"00",
  244. X"3F", X"00", X"69", X"6E", X"20", X"00", X"6D", X"6D", X"75", X"00", X"6F", X"75", X"74", X"20", X"00", X"72",
  245. X"75", X"6E", X"20", X"00", X"73", X"70", X"00", X"77", X"6D", X"20", X"00", X"72", X"65", X"72", X"61", X"73",
  246. X"65", X"00", X"72", X"72", X"65", X"61", X"64", X"00", X"72", X"77", X"72", X"69", X"74", X"65", X"00", X"23",
  247. X"FD", X"D1", X"F2", X"27", X"FD", X"61", X"F1", X"2B", X"FD", X"E4", X"F0", X"30", X"FD", X"E4", X"F0", X"32",
  248. X"FD", X"ED", X"F0", X"36", X"FD", X"18", X"F2", X"18", X"FD", X"B0", X"F1", X"3A", X"FD", X"15", X"F1", X"3F",
  249. X"FD", X"A4", X"F1", X"47", X"FD", X"37", X"F1", X"44", X"FD", X"EE", X"F2", X"1F", X"FD", X"0F", X"F3", X"4B",
  250. X"FD", X"2F", X"F3", X"52", X"FD", X"B5", X"F3", X"58", X"FD", X"6B", X"F4", X"00", X"00", X"FE", X"FE", X"FE",
  251. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  252. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  253. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  254. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  255. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  256. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  257. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  258. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  259. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  260. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  261. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  262. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  263. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  264. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  265. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  266. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  267. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  268. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  269. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  270. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  271. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  272. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  273. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  274. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  275. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  276. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  277. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  278. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  279. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  280. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  281. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  282. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  283. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  284. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  285. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  286. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  287. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE",
  288. X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE", X"FE"
  289. );
  290. begin
  291. ram_process: process(clk, byte_rom)
  292. begin
  293. if rising_edge(clk) then
  294. -- latch the address, in order to infer a synchronous memory
  295. address_latch <= a;
  296. end if;
  297. end process;
  298. d <= byte_rom(to_integer(unsigned(address_latch)));
  299. end arch;