gardners / c65gs

FPGA-based C64 Accelerator / C65 like computer
83 stars 23 forks source link

CPU lacks 4510 instructions for C65 compatibility #25

Closed gardners closed 10 years ago

gardners commented 10 years ago

Okay, commit a369377957ff3d12eb50b906bcd10eb8103fca1b implements most 4510 instructions (untested), and it works on the FPGA without impacting on timing closure.

However after commit a010be7bec3782f6e35a08837cd093cf130d0fba (or possibly the intervening commit), timing closure is not made, and the machine doesn't boot.

gardners commented 10 years ago

Confirmed commit a369377 is the last working commit. Adding continuous trace mode to serial monitor to allow capturing ~100 instructions per second to help debug where it diverges from working version.

gardners commented 10 years ago

Okay, moving forward slowly on 4510b branch to find point at which previous commits stopped things working.

gardners commented 10 years ago

Okay, works at above commit (7304e0319cd5a565288f671af1bd8cdd4a344271). Now to add BBR/BBS and other modes from 4510 branch and see if it still works.

gardners commented 10 years ago

CPU still works and C64 kernel still boots after the above commits.

word-based instructions are still unimplemented, possibly as well as others. Will soon diverge into writing tests for the 4510 instructions to complement the C64 test suite to begin making a C65 test suite.

gardners commented 10 years ago

Okay, at this point, and with CPU running @ 64MHz, passes all 6502 opcodes still with C64 emulator test suite (fails with first illegal NOP opcode, which is fine, since those opcodes are now 4510 operations.)

gardners commented 10 years ago

Pulled in latest commits onto sdcard5 branch. All should now be fine. Any further problems can be in a new issue.