tms9918
-
Content Count
3 -
Joined
-
Last visited
Posts posted by tms9918
-
-
Yes, I am totally ok with instructions with no writes. I want to be able to stop the system and inspect it,without particular focus on the precise moment I stop it. I just do not want to introduce garbage (i.e. operands with wrong values).
I already use emulators extensively, the hardware solution is for inspecting parts of the system which are not documented.
-
I am trying to develop a debugger that interrupts the program flow by inserting rst instructions on the bus. I want to do it at the beginning of an instruction, i.e. I do not want to modify later parts of multi-byte opcodes / parameters of the opcodes. Unless I solder additional wires (which I'd like to avoid) I have no access to M1.
My idea is to detect writes, and replace the data on the bus on the fist read after a write.
This holds correct only if there is no instruction that performs a read after a write. If I am not mistaken such instruction does not exist, but I may have overlooked some atypical case.
Is there any (possibly undocumented) instruction that performs a memory read after a memory write, or can I be sure that no such instruction exists?

Z80 writes on the bus
in ColecoVision Programming
Posted
Thank you everybody. Indeed, M1 is available!
Just for curiosity, I wrote a program that tests all opcodes (including the undocumented ones) and records the execution on a Z84C0010AEG
All the observed patterns are the following
[('rd',),
('rd', 'rd'),
('rd', 'rd', 'rd'),
('rd', 'rd', 'rd', 'rd'),
('rd', 'rd', 'rd', 'rd', 'rd'),
('rd', 'rd', 'rd', 'rd', 'rd', 'rd'),
('rd', 'rd', 'rd', 'rd', 'rd', 'wr'),
('rd', 'rd', 'rd', 'rd', 'wr'),
('rd', 'rd', 'rd', 'rd', 'wr', 'wr'),
('rd', 'rd', 'rd', 'wr'),
('rd', 'rd', 'rd', 'wr', 'wr'),
('rd', 'rd', 'wr'),
('rd', 'rd', 'wr', 'wr'),
('rd', 'wr'),
('rd', 'wr', 'wr')]
I attach the list of the instructions associated to each pattern for posterity.
summary.zip