Login
Back to forumReply to this topicGo to last reply

Posted By

GeorgeHug
on 2021-11-26
11:22:43
 Question about the 8551 ACIA

I was looking at this site for information about code for servicing the ACIA:

http://csbruce.com/cbm/ftp/reference/swiftlink.txt

It's about the SwiftLink for the C64, but contains the following information about bit 7 of the Status register of the 6551 used in the SwiftLink:

"Some programmers have reported problems with using bit #7 to verify ACIA
interrupts. At 9600 bps and higher, the ACIA generates interrupts properly,
and bits #3--#6 (described below) are set to reflect the cause of the
interrupt, as they should. But, bit #7 is not consistently set. At speeds
under 9600 bps, bit #7 seems to work as designed. To avoid any difficulties,
the sample code below ignores bit #7 and tests the four interrupt source bits
directly."


Does anyone have any information about whether this problem also affects the 8551 used in the Plus/4? At high speed you would have occasional dropped characters. A received byte would not be read from the Data register, and would be overwritten by the next character coming in. The Plus.4 IRQ routine skips over all ACIA processing if bit 7 is cleared since it assumes the ACIA is not the source of the interrupt.



Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024