OpenCores
URL https://opencores.org/ocsvn/t80/t80/trunk

Subversion Repositories t80

[/] [t80/] [trunk/] [rtl/] [vhdl/] [T80_MCode.vhd] - Diff between revs 7 and 15

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 7 Rev 15
Line 1... Line 1...
--
--
-- Z80 compatible microprocessor core
-- Z80 compatible microprocessor core
--
--
-- Version : 0214
-- Version : 0235
--
--
-- Copyright (c) 2001-2002 Daniel Wallner (dwallner@hem2.passagen.se)
-- Copyright (c) 2001-2002 Daniel Wallner (jesus@opencores.org)
--
--
-- All rights reserved
-- All rights reserved
--
--
-- Redistribution and use in source and synthezised forms, with or without
-- Redistribution and use in source and synthezised forms, with or without
-- modification, are permitted provided that the following conditions are met:
-- modification, are permitted provided that the following conditions are met:
Line 36... Line 36...
-- Please report bugs to the author, but before you do so, please
-- Please report bugs to the author, but before you do so, please
-- make sure that this is not a derivative work and that
-- make sure that this is not a derivative work and that
-- you have the latest version of this file.
-- you have the latest version of this file.
--
--
-- The latest version of this file can be found at:
-- The latest version of this file can be found at:
--      http://hem.passagen.se/dwallner/vhdl.html
--      http://www.opencores.org/cvsweb.shtml/t80/
--
--
-- Limitations :
-- Limitations :
--
--
-- File history :
-- File history :
--
--
Line 48... Line 48...
--
--
--      0211 : Fixed IM 1
--      0211 : Fixed IM 1
--
--
--      0214 : Fixed mostly flags, only the block instructions now fail the zex regression test
--      0214 : Fixed mostly flags, only the block instructions now fail the zex regression test
--
--
 
--      0235 : Added IM 2 fix by Mike Johnson
 
--
 
 
library IEEE;
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
use IEEE.numeric_std.all;
use work.T80_Pack.all;
use work.T80_Pack.all;
Line 661... Line 663...
                                        Write <= '1';
                                        Write <= '1';
                                when others => null;
                                when others => null;
                                end case;
                                end case;
                        elsif IntCycle = '1' then
                        elsif IntCycle = '1' then
                                -- INT (IM 2)
                                -- INT (IM 2)
                                MCycles <= "011";
                                MCycles <= "101";
                                case to_integer(unsigned(MCycle)) is
                                case to_integer(unsigned(MCycle)) is
                                when 1 =>
                                when 1 =>
                                        LDZ <= '1';
                                        LDZ <= '1';
                                        TStates <= "101";
                                        TStates <= "101";
                                        IncDec_16 <= "1111";
                                        IncDec_16 <= "1111";
Line 678... Line 680...
                                        Set_Addr_To <= aSP;
                                        Set_Addr_To <= aSP;
                                        Set_BusB_To <= "1100";
                                        Set_BusB_To <= "1100";
                                when 3 =>
                                when 3 =>
                                        TStates <= "100";
                                        TStates <= "100";
                                        Write <= '1';
                                        Write <= '1';
 
                                when 4 =>
 
                                        Inc_PC <= '1';
 
                                        LDZ <= '1';
 
                                when 5 =>
 
                                        Jump <= '1';
                                when others => null;
                                when others => null;
                                end case;
                                end case;
                        else
                        else
                                -- NOP
                                -- NOP
                        end if;
                        end if;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.