Re: Strange 8255 behavior

From: Mia Magnusson <mia_at_plea.se>
Date: Sat, 16 Jun 2018 05:22:02 +0200
Message-ID: <20180616052202.00007db0@plea.se>
Den Fri, 15 Jun 2018 16:11:02 +0200 skrev Michał Pleban
<lists@michau.name>:
> Hello!
> 
> Marko Mäkelä wrote:
> 
> > These functions are fairly independent of each other. Would it be
> > feasible to implement the CIA in two CPLDs that would share the
> > address and data bus interface?
> 
> Theoretically it should be possible. Some functions would be
> duplicated (like register decoding etc) but it might be doable.

The register map is unfortunitely made in a way that it won't be a
great idea to split it so one CPLD handle the odd addresses and the
other the even addresses.

0000 data port A
0001 data port B
0010 DDR A
0011 DDR B
0100 Timer A low byte
0101 Timer A high byte
0110 Timer B low byte
0111 Timer B high byte
1000 TOD 1/10s BCD
1001 TOD seconds BCD
1010 TOD minutes BCD
1011 TOD hours
1100 serial shift register
1101 Interrupt control and status
1110 Timer A control
1111 Timer B control

Maybe it would be easiest to implement data port A in one CPLD and the
rest in another? Afaik data port A doesn't have any dependencies on the
other parts of the CIA except address decoding, while everything else
has some kind of dependences.

http://archive.6502.org/datasheets/mos_6526_cia_preliminary_nov_1981.pdf


IMHO before someone does implement a CIA as a CPLD, the analogue
electrical characteristics of the CPLD ports should be observed.

The data sheet states that it can source at least 0,2mA and typically
1mA, while it can sink at least 3.2mA.

It is rather important that the key decoding actually works. A device
with symmetrical drive capability would be far from ideal. It might be
neccesary to have two pins for each CIA port pin, one that inputs and
drives outputs low, and one that solely drives output high which in
fact would more or less just be connected to the other pin and the CIA
replacement pin with a series resistor.


Btw the 6522 data sheet lists different current drive between port A
and B. Are we 100% sura that this isn't the case with the CIA's in C64?

http://archive.6502.org/datasheets/mos_6522_preliminary_nov_1977.pdf

-- 
(\_/) Copy the bunny to your mails to help
(O.o) him achieve world domination.
(> <) Come join the dark side.
/_|_\ We have cookies.
Received on 2018-06-16 06:00:04

Archive generated by hypermail 2.2.0.