OpenCores

TV80 does not support some undocumented instructions

Back to bugtracker overview.

Information:
Type :: BUG
Status :: OPENED
Assigned to :: Guy, Hutchison

Description:
Undocumented instructions like RL (IX+1),E are not supported by TV80.

In real Z80 all instructions under CB can be prefixed by DD/FD. In result will be operation like: OP (II+d),r, where II is IX or IY, d - offset (-128...+127), r one of standard registers (A, B, C, D, E, H, L). This operations do something like:
ld r,(II+d)
OP r
ld (II+d),r

OP can be: RLC, RL, RRC, RR, SLA, SRA, SRL, SLL, BIT, SET, RES

OpCode: DD CB dd oo, there CB oo is code of "OP r" operation.

Comments:

Belyashov, Sergey Jun 29, 2010
I know only T80 implementation. Our developer fails to run it (some strange behaviour) so I cannot say has it support for these instructions or not. But using code examining I see there is no support (I am not a hardware developer - I am programmer, so I cannot guaranty fidelity of my assertion). I know: 1. Real Z80 and clones supports these operations 2. Behaviour of these operations equals to described above, except BIT. here is PDF document of all known undocumented instructions of Z80. Above instructions described on page 10: "3.5 DDCB Pre?x".
Hutchison, Guy Jun 17, 2010
If you can point me to some more extensive description I will look in to adding support for these opcodes. Are they documented in some of the other Z80 implementations? Is there an ISS which simulates these correctly?

Post a comment:
Login to post comments!

Back to bugtracker overview.

© copyright 1999-2012 OpenCores.org, equivalent to ORSoC AB, all rights reserved. OpenCores®, registered trademark.