On Thu, May 31, 2018 at 10:48 PM, Jim Brain via cctalk < cctalk@classiccmp.org> wrote:
> I agree this is very specific, but I thought perhaps someone could help. > > As I look at the '09 datasheets, I can't tell when the data lines become > valid on a write cycle. > In the MC68x09E datasheet, that is parameter 20, which is the from the rising edge of the Q clock to write data valid. In the HD68x09E datasheet, it is t(DDW) MC6809E: maximum 200ns MC68A09E: maximum 140ns MC68B09E: maximum 110ns HD63B09E: maximum 110ns HD63C09E: maximum 70ns Note that these times guarantee that as long as your clock timing is within specifications, the write data will be valid at least slightly before the rising edge of the E clock. If you need to know the specifically how much time the write data is valid before the rising edge of the E clock, you can derive that based on the clock frequency you're using. Either of the modified equations works, but I don't know if can safely > place data on the external databus during the entire cycle, like the > address lines, or if I need to be off the bus for some small portion of the > cycle. I was hoping the datasheets could help, but I am missing the key > portion of the timing diagrams. > If you drive the data bus too soon after the falling edge of E, you might have contention with whatever chip was driving the data bus in the previous cycle. I have never seen a design using a 6800/6500-style bus that depends on the write data being valid more than a few ns before the rising edge of E (phase 2 for 65xx). Best regards, Eric