|
Message
From: gutobix at gmx.de<gutobix@g...>
Date: Wed Mar 30 14:00:42 CEST 2005
Subject: [oc] T80 bugfix for INI, IND, INIR, INDR, OUTI, OUTD, OTIR, OTDR
Hi, Thank you for the exellent T80 Core. I use that in the C-One Projekt. Now I have found a Bug and fix it. TobiFlex
when "10100010" | "10101010" | "10110010" | "10111010" => -- INI, IND, INIR, INDR MCycles <= "100"; case to_integer(unsigned(MCycle)) is when 1 => Set_Addr_To <= aBC; Set_BusB_To <= "1010"; Set_BusA_To <= "0000"; Read_To_Reg <= '1'; Save_ALU <= '1'; ALU_Op <= "0010"; when 2 => IORQ <= '1'; Set_BusB_To <= "0110"; Set_Addr_To <= aXY; when 3 => --TobiFlex was here if IR(3) = '0' then IncDec_16 <= "0110"; else IncDec_16 <= "1110"; end if; TStates <= "100"; Write <= '1'; I_BTR <= '1'; when 4 => NoRead <= '1'; TStates <= "101"; when others => null; end case; when "10100011" | "10101011" | "10110011" | "10111011" => -- OUTI, OUTD, OTIR, OTDR MCycles <= "100"; case to_integer(unsigned(MCycle)) is when 1 => TStates <= "101"; Set_Addr_To <= aXY; Set_BusB_To <= "1010"; Set_BusA_To <= "0000"; Read_To_Reg <= '1'; Save_ALU <= '1'; ALU_Op <= "0010"; when 2 => Set_BusB_To <= "0110"; Set_Addr_To <= aBC; when 3 => --TobiFlex was here if IR(3) = '0' then IncDec_16 <= "0110"; else IncDec_16 <= "1110"; end if; IORQ <= '1'; Write <= '1'; I_BTR <= '1'; when 4 => NoRead <= '1'; TStates <= "101"; when others => null; end case; end case;
|
 |