What about the clock?
It says (as I would expect) that I should clock on the falling edge of ph2o. But when I load the IA, it sets itself up to clock on the falling edges of the J+K clock. Is "+" an OR symbol, or and and? Also, what would I hook up to the second clock?
It seems like things aren't exactly synced as they should be for me. I have it set to trigger on an address where a bit of code starts. It interprets that first opcode correctly. It seems to interpret most things correctly, but sometimes, it seems like it isn't taking the number of cycles an instruction takes into account properly.
i initially had the STAT label bits set as the .txt file instructed (3-7). I now have it 0-4, in the order the file suggested, with SYNC being the LSB. I don't think it really made a difference. It definitely seems to be getting the R/W line right. I haven't tried to throw it an interrupt yet, but I'll try that next.
Here is a perfect example of what is happening:
My code says:
STZ $05
that opcode should take two bytes, and three cycles.
The interpretation by the IE is: (status bits from left to right are R/W, RST, NMI, IRQ, SYNC)
3 80F7 64 STZ $81 11111
4 80F7 64 STZ $80 11111
5 80F9 05 memory read 11110
6 0005 00 01110
to me, line 4 is shouldn't exist, which could be why line 3 is wrong (should be STZ $05)
if you took away line 4, it wouldn't be off the rails to me. It feels like a clocking problem.
This result is completely repeatable, so its not noise on the clock line.