mirror of
https://github.com/brouhaha/Apple-II_MiSTer.git
synced 2024-10-07 21:56:12 +00:00
59 lines
2.4 KiB
VHDL
59 lines
2.4 KiB
VHDL
|
library ieee;
|
||
|
use ieee.std_logic_1164.all;
|
||
|
use ieee.numeric_std.all;
|
||
|
|
||
|
entity disk_ii_rom is
|
||
|
port (
|
||
|
addr : in unsigned(7 downto 0);
|
||
|
clk : in std_logic;
|
||
|
dout : out unsigned(7 downto 0));
|
||
|
end disk_ii_rom;
|
||
|
|
||
|
architecture rtl of disk_ii_rom is
|
||
|
type rom_array is array(0 to 255) of unsigned(7 downto 0);
|
||
|
|
||
|
constant ROM : rom_array := (
|
||
|
X"a2", X"20", X"a0", X"00", X"a2", X"03", X"86", X"3c",
|
||
|
X"8a", X"0a", X"24", X"3c", X"f0", X"10", X"05", X"3c",
|
||
|
X"49", X"ff", X"29", X"7e", X"b0", X"08", X"4a", X"d0",
|
||
|
X"fb", X"98", X"9d", X"56", X"03", X"c8", X"e8", X"10",
|
||
|
X"e5", X"20", X"58", X"ff", X"ba", X"bd", X"00", X"01",
|
||
|
X"0a", X"0a", X"0a", X"0a", X"85", X"2b", X"aa", X"bd",
|
||
|
X"8e", X"c0", X"bd", X"8c", X"c0", X"bd", X"8a", X"c0",
|
||
|
X"bd", X"89", X"c0", X"a0", X"50", X"bd", X"80", X"c0",
|
||
|
X"98", X"29", X"03", X"0a", X"05", X"2b", X"aa", X"bd",
|
||
|
X"81", X"c0", X"a9", X"56", X"20", X"a8", X"fc", X"88",
|
||
|
X"10", X"eb", X"85", X"26", X"85", X"3d", X"85", X"41",
|
||
|
X"a9", X"08", X"85", X"27", X"18", X"08", X"bd", X"8c",
|
||
|
X"c0", X"10", X"fb", X"49", X"d5", X"d0", X"f7", X"bd",
|
||
|
X"8c", X"c0", X"10", X"fb", X"c9", X"aa", X"d0", X"f3",
|
||
|
X"ea", X"bd", X"8c", X"c0", X"10", X"fb", X"c9", X"96",
|
||
|
X"f0", X"09", X"28", X"90", X"df", X"49", X"ad", X"f0",
|
||
|
X"25", X"d0", X"d9", X"a0", X"03", X"85", X"40", X"bd",
|
||
|
X"8c", X"c0", X"10", X"fb", X"2a", X"85", X"3c", X"bd",
|
||
|
X"8c", X"c0", X"10", X"fb", X"25", X"3c", X"88", X"d0",
|
||
|
X"ec", X"28", X"c5", X"3d", X"d0", X"be", X"a5", X"40",
|
||
|
X"c5", X"41", X"d0", X"b8", X"b0", X"b7", X"a0", X"56",
|
||
|
X"84", X"3c", X"bc", X"8c", X"c0", X"10", X"fb", X"59",
|
||
|
X"d6", X"02", X"a4", X"3c", X"88", X"99", X"00", X"03",
|
||
|
X"d0", X"ee", X"84", X"3c", X"bc", X"8c", X"c0", X"10",
|
||
|
X"fb", X"59", X"d6", X"02", X"a4", X"3c", X"91", X"26",
|
||
|
X"c8", X"d0", X"ef", X"bc", X"8c", X"c0", X"10", X"fb",
|
||
|
X"59", X"d6", X"02", X"d0", X"87", X"a0", X"00", X"a2",
|
||
|
X"56", X"ca", X"30", X"fb", X"b1", X"26", X"5e", X"00",
|
||
|
X"03", X"2a", X"5e", X"00", X"03", X"2a", X"91", X"26",
|
||
|
X"c8", X"d0", X"ee", X"e6", X"27", X"e6", X"3d", X"a5",
|
||
|
X"3d", X"cd", X"00", X"08", X"a6", X"2b", X"90", X"db",
|
||
|
X"4c", X"01", X"08", X"00", X"00", X"00", X"00", X"00");
|
||
|
|
||
|
begin
|
||
|
|
||
|
process (clk)
|
||
|
begin
|
||
|
if rising_edge(clk) then
|
||
|
dout <= ROM(TO_INTEGER(addr));
|
||
|
end if;
|
||
|
end process;
|
||
|
|
||
|
end rtl;
|