Aslak3 wrote:
I'm confused; the 68K DTACK-mchanism is classed as an asynchronous bus, but busses like the 6502 are considered synchronous? If the 28L194 operates in a 68K style, it can probably be made to work by delaying the Chip Select until after Read or Write have been asserted. I used this trick successfully with the SC16C654 on my board which I configured in 68K mode because it required less glue pins.
A DTACK mechanism is not required to use the 28L94, but its clock input must be driven at some multiple of the X1 clock. The timing diagram looks tricky and that was part of the reason I dismissed the idea for the time being. There is also an eight-channel version with the same clocking requirements.
In any case, x86 mode is somewhat easier with the 65C816, due to the independent control of the read/write functions. In 68K mode, read/write works along the line of 65xx silicon, which make qualifying a read against the Ø2 clock impossible without extra silicon—unlike the 65C22, for example, the 28C94 doesn't know that the data bus is not data during Ø2 low.
Quote:
Regarding the 28C94 in your board: Have you tried the simplest of all interactions with the 28C94? It looks like you should be able to toggle the general purpose output pins with just a few register configurations.
I haven't, as I can select the device and read and write it. This has devolved to a serial interface problem, and as I know the logic levels on that side of the device are correct, it is a problem of configuration.
Quote:
I've never used this part and am just reading the datasheet like the next guy but it looks like it should work? Could you point out some of the inconsistencies? Maybe we can help "resolve" them.
Go to page 17 for an example. In the right column, the data sheet abruptly goes from describing the layout of the clock select register to the command register, obviously an editing error. Also, the baud rate table (table 6) is a bit confusing, as it mentions
BRG RATE = LOW and
BRG RATE = HIGH (BRG meaning baud rate generator), but there is no immediate clue as to which register is used to set the baud rate generator rate (it's register
%101101). Furthermore, there is are registers
%101110 and
%101111 listed in table 1 on page 6, but no satisfactory explanation for what they do.
Quote:
If I was a betting bloke I'd put at least $5 on your problem being down to the baud rate config or something similar.
I said as much in my earlier post.
Quote:
BTW regarding your test pattern. Why not just use a 7 bit ASCII character? My favourite is 0x2A, the asterisk.
Then when it works you can say you are "seeing stars". This might be an indicator that I need to get out more.
I did switch the test pattern to a group of three seven bit ASCII characters.