1/1
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; |
1/1