lidnariq wrote:
* Use two 74'670s to yield four bank registers (he calls them K0 through K3)
* The /SYNC output on the 65C02 lets him capture, intercept, and replace opcodes from memory before it enters the CPU. This is microcoded using external ROMs
* Forces all stack and direct-page accesses to only bank 0, while normal execution happens from K0
* Opcode prefixes (like the Z80 or x86) let him force the following instruction to always use a different bank register for the data portions of that instruction
* special hardware-optimized implementation of NEXT for fast FORTH performance
* function to copy just the computed address from (zpg,X) into a pair of zeropage registers
* special ZX80-like "emit bytes starting at this address as a scanline of pixel data" instruction
Thanks for your interest, lidnariq, and for the summary you wrote -- I was glad to get your take on the project.
I notice you linked to the KK Computer
main article, which is over eight pages long. In case anyone finds that too long -- but found your summary too short --
here is a summary I wrote myself. It's just one page, so hopefully in the Goldilocks zone, lengthwise.
The KK Computer appeared on NesDev
before but basically got ignored. (That was before I added the summary.)
lidnariq wrote:
He decided on the same "LoaD and Discard" mnemonic that I had thought of when we were discussing these instructions
No kidding, you called 'em that, too? That's funny.
But I never realized LDD was among the undefined instructions
on the NMOS chip. I only studied the Rockwell 65C02 undefined instructions. (BTW, recent tests reveal KK also works with a modern WDC 65C02 installed, confirming its undefined instructions are identical to Rockwell's. Well, almost identical. There are two less, as WDC added the STP and WAI opcodes.)
Memblers wrote:
Not having worked with the 65C02, I didn't realize it has a single-cycle NOP.
Yeah, and the single-cycle NOP's have terrific potential for hardware hacking, mainly because they're so easy to decode. Garth Wilson posted an example of this (below). Not exactly mainstream for a NES forum, but maybe some of you will find it interesting.
-- Jeff
Some tricks from Jeff Laughton (Dr Jefyll on 6502.org's forum)