Very late update here.
I've been pondering for the last two years about whether the data bus needs a buffer or transceiver in between to get the signals to behave.
I read a bit further in the service manual about how the pins are by default configured and that the data bus is by default an output.
Then a noteworthy observation struck me: The T0 pin (pin 1) is used to configure the MCU in SDE-1000 or SDE-3000 mode (it's bigger brother).
Pull T0 to 5V and it's in SDE-1000 mode, and to ground it's in SDE-3000 mode.
I have a hunch that if T0 is floating at start up, which it most likely is during startup on the programmer, the code will crash as it is in an illegal state, causing weird things to happen.
Am I on to something here?
If my knowledge is correct, T0 is also used to set programming (0V) and verify (5v) mode.
In Intel's suggested ROM verify procedure, T0 is not mentioned, only the EPROM programming procedure mention the T0 usage.
Suggestion:
I could tie T0 permanently to 5V from VCC or the Arduino as that would both set SDE-1000 and Verify mode, which is my goal here.
Worth a try?
In the SDE-1000 it is tied directly to 5V, but should I be on the safe side and put a current limiting resistor of some value between?
In the SDE-3000 it is tied directly to ground.
When dumping, I should get the whole code, not just the code for which SDE mode it is in?