OpenCores
no use no use 1/1 no use no use
T65 bug and fix
by MikeJ on Mar 10, 2004
MikeJ
Posts: 10
Joined: Jan 16, 2002
Last seen: Feb 9, 2021
I have found a small bug in the T65 cpu - Daniel I tried to email you, but
it bounced.

Instruction 0xBE (LDX ABS,Y) uses Y reg as index, not X.
Right bugger to find this one .....

Cheers,
MikeJ
www.fpgaarcade.com

this sorts it :

t65_mcode.vhd
line 816 ish, lines with **** are changed

else
LCycle if IR(7 downto 6) /= "10" then
LDA end if;
case to_integer(unsigned(MCycle)) is
when 0 =>
when 1 =>
Jump LDBAL when 2 =>
Jump -- mikej
-- special case 0xBE which uses Y reg as index!!
if (IR = "10111110") then ****
Set_BusA_To else ****
Set_BusA_To end if; ****
BAAdd LDBAH Set_Addr_To when 3 =>
BAAdd if IR(7 downto 5) = "100" then
Write else
BreakAtNA end if;
Set_Addr_To when 4 =>
when others =>
end case;
end if;
when others =>
end case;
end process;


no use no use 1/1 no use no use
© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.