Open tobiasvl opened 4 years ago
Since all the prefix opcodes take the same 2 bytes and 8 cycles, I would expect the PREFIX CB
to list that. If anything is footnoted it should be the time to fetch just the $CB prefix byte.
This problem has already been solved in the documentation of other platforms (NEC 78-series MCUs come to mind) where it's just written as
PREFIX 2/3/4
see table (2/3/4)
with every other info removed from the table cell, so it's obvious that it's a multi-byte opcode, and the actual size and timings depend on the other following bytes.
Some people (on the emudev Discord server) seem to be confused by the fact that the table lists
0xCB
as 1 byte and 4 cycles, while all the0xCB
-prefixed opcodes in the separate table add that 1 byte and those 4 cycles to their totals.For example,
RLC B
at0xCB 0x00
is listed as taking 2 bytes and 8 cycles, but in the main tablePREFIX
at0xCB
is listed as taking 1 byte and 4 cycles.That's not incorrect per se, since fetching the 1-byte prefix takes 4 cycles, so I'm not sure what the best "solution" would be. Perhaps just a footnote?