acia 6551

4 posts / 0 new
Last post
Offline
Last seen: 3 weeks 23 hours ago
Joined: Aug 1 2023 - 00:48
Posts: 12
acia 6551

Hello all,

I hope you can help with this one because I'm out of ideas. 

I'm trying to make a simple acia um6551 interface to apple IIe(clone), but apparently I'm doing something wrong. I've read a lot about 6551 on the internet.

This is the schematics I'm working on. Since Apple II has no phi2 on the slot, I've "tapped" the phi2 directly from the processor's pin. I can see the clock signal on phi2 pin on the 6551 after doing that. I'm using 1.8432 Mhz generator for the baud rate, which is connected as per the datasheet. It's not on the chematics but I've connected RESET pin of 6551 to the reset of the 6502 and also I've grounded DCD, CTS, DTR and DSR. So all should be ok, I suppose.

 

 

I've connected the 6551 through slot 5. I've written simple Basic program to set the registers and send just one char as a test, but for some reason it's not sending anything.

Even reading back the registers gives back wrong  values (either 255 ot 193)

 

10 POKE $C502, 0b           // 9600, 8N1

20 POKE $C503, 1e           // no irq, no echo

30 ? PEEK($C503)             // print Control register

40 ? PEEK($C502)            // print Command register

50 POKE $C500, 81          // send "A" to data register

 

Any ideas if I'm missing something, at least in theory?

 

 

 

 

Offline
Last seen: 7 hours 33 min ago
Joined: Jun 29 2018 - 16:55
Posts: 583
Do you have more than a

Do you have more than a single 6551 on hand? I find this IC to be "picky" on super serial cards. If you have another, try another IMHO. 

 

Also out of curiosity do you have a simple logic probe to check pin activity as you issue commands? 

Offline
Last seen: 3 weeks 23 hours ago
Joined: Aug 1 2023 - 00:48
Posts: 12
Here are some images

I've read in a thread about A2RPI card, which uses similar setup and  there they  hook the /IOSEL to 74ls04 inverter and then output to PHI2 input pin of the 6551 this would actually work. So I rewired according to their schematics here:

 

 

I tried that and connected a logic analyzer. Here are the results. Timings seems to match at first glance, but I can't seem to save new byte into the ACIA registers. In yellow I've annotated the respective pins of the um6551A

 

I really don't know what's wrong.

 

My simple test is with Basic. The "card" is in slot 5. The first image is the result of POKE $C50b, $1e (setting the control register with 1e) . When I read it back with Peek($c50b), it returns wrong values (either 191 ot 255 ). 

 

Here's an image without inverting /IOSEL signal.

 

 

 

And here how it looks again with inverted /IOSEL and last line changed to tap on RW signal. Same data is being written to the same ACIA register.

 

 

 

Offline
Last seen: 3 weeks 23 hours ago
Joined: Aug 1 2023 - 00:48
Posts: 12
swapped lines

   It appears two of the address lines were swapped :) It's now working, even managed to connect it to 3.3v uart logic after that.

 

 

Log in or register to post comments