6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 10:40 am

All times are UTC




Post new topic Reply to topic  [ 9 posts ] 
Author Message
PostPosted: Fri Dec 03, 2021 9:29 am 
Offline
User avatar

Joined: Fri Nov 09, 2012 5:54 pm
Posts: 1431
Main thread: 6509 dissection

Another dissection brought to you by Frank Wolf and ttlworks.

While we did the first 6509 dissection, we had focused on what makes the 6509 different from the 6502.
That's why he had ignored the pins\pads: RES#, NMI#, IRQ#, RDY, SYNC,
since the logic attached to these pins is supposed to be more or less identical to what's in the 6502.

And that's why we do them now.

Note:
For consistence with Frank's notation, low_active signals are named foo#, not /foo.

Orientation for all the chip pictures: PHI1(in) is North.


Top
 Profile  
Reply with quote  
PostPosted: Fri Dec 03, 2021 9:30 am 
Offline
User avatar

Joined: Fri Nov 09, 2012 5:54 pm
Posts: 1431
Eagle 6.4 schematics for my schematic pictures in this thread,
just in case if somebody needs them.

Note: KiCad is supposed to be able to import these schematics,
unfortunately it doesn't seem to be possible to disable the layers 'name' and 'value' in KiCad schematics,
so making my schematics look nice and clean in KiCad will require some work, sorry.

Attachment:
6509r7_remaining_pads_schematics.zip [46.89 KiB]
Downloaded 44 times


Top
 Profile  
Reply with quote  
PostPosted: Fri Dec 03, 2021 9:33 am 
Offline
User avatar

Joined: Fri Nov 09, 2012 5:54 pm
Posts: 1431
A picture of the 6509 silicon, with the interesting areas marked.
The dark green areas in the picture went covered by the previous 6509 dissections.

Attachment:
6509r7_orientation.png
6509r7_orientation.png [ 876.36 KiB | Viewed 551 times ]


Just as a reference, another picture of the 6509 silicon without the markings.

Attachment:
6509r7_small.png
6509r7_small.png [ 1.35 MiB | Viewed 551 times ]


Top
 Profile  
Reply with quote  
PostPosted: Fri Dec 03, 2021 9:35 am 
Offline
User avatar

Joined: Fri Nov 09, 2012 5:54 pm
Posts: 1431
0) NMI#

//Falling edge at the NMI# input triggers a non_maskable interrupt.

There is a weak pullup resistor (FET) tied to the NMI# pad, 20 kOhms maybe.
Plus the usual ESD protection circuitry.

The Signal from the NMI# pad goes through two inverters,
which are feeding a transparent fully static latch.

The static latch samples the inverted/buffered NMI# signal at PHI2,
and gives out NMIP#.

NMI# and NMIP# have the same polarity.

Attachment:
si6509_0_nmi.png
si6509_0_nmi.png [ 35.35 KiB | Viewed 551 times ]

Attachment:
6509_0_nmi.png
6509_0_nmi.png [ 68.27 KiB | Viewed 551 times ]


Top
 Profile  
Reply with quote  
PostPosted: Fri Dec 03, 2021 9:36 am 
Offline
User avatar

Joined: Fri Nov 09, 2012 5:54 pm
Posts: 1431
1) IRQ#

//IRQ# input low triggers an interrupt. Interrupt can be masked/disabled with I Flag = 1.

Like with "0) NMI#", the IRQ# pad has a weak pullup and ESD protection.

The low_active IRQ# signal goes through two inverters, which are feeding a fully transparent static latch.

The static latch samples NMI# during PHI2.

The output of the static latch is sampled by a dynamic latch during PHI1,
which gives out the low_active IRQP# signal.

Attachment:
si6509_1_irq.png
si6509_1_irq.png [ 33.27 KiB | Viewed 551 times ]

Attachment:
6509_1_irq.png
6509_1_irq.png [ 56.57 KiB | Viewed 551 times ]


Top
 Profile  
Reply with quote  
PostPosted: Fri Dec 03, 2021 9:37 am 
Offline
User avatar

Joined: Fri Nov 09, 2012 5:54 pm
Posts: 1431
2) RES#

//RES# input low puts the CPU into a reset.

The game isn't too different from "1) IRQ#".

The RES# pad has ESD protection, but no pullup.

The low_active RES# signal goes through two inverters, which are feeding a fully transparent static latch.

The static latch samples RES# during PHI2.

The output of the static latch is sampled by a dynamic latch during PHI1,
which gives out the high_active RES signal.

Attachment:
si6509_2_res.png
si6509_2_res.png [ 32.23 KiB | Viewed 551 times ]

Attachment:
6509_2_res.png
6509_2_res.png [ 66.25 KiB | Viewed 551 times ]


Top
 Profile  
Reply with quote  
PostPosted: Fri Dec 03, 2021 9:39 am 
Offline
User avatar

Joined: Fri Nov 09, 2012 5:54 pm
Posts: 1431
3) SYNC

//When the CPU reads an instruction from the data bus, SYNC output goes high during PHI1 for the rest of that cycle.

Just a non_inverting driver, fed by the T11 signal from the sequencer, driving the SYNC pad.

Attachment:
si6509_3_sync.png
si6509_3_sync.png [ 66.54 KiB | Viewed 551 times ]

Attachment:
6509_3_sync.png
6509_3_sync.png [ 26.85 KiB | Viewed 551 times ]


Top
 Profile  
Reply with quote  
PostPosted: Fri Dec 03, 2021 9:40 am 
Offline
User avatar

Joined: Fri Nov 09, 2012 5:54 pm
Posts: 1431
4) RDY

//RDY input low halts the CPU during read cycles.

RDY pad has a weak pullup plus the usual ESD protection.

RDYP is the buffered RDY signal (which has the same polarity like RDY).
RDYP goes to the "ready logic" inside the CPU.

The RDY signal is sampled with a transparent latch at PHI2,
the output of said latch is sampled with another transparent latch at PHI1,
which then gives out the inverted RDY1# signal.
RDY1# low enables PLA product term 80 "T0.BR".

Attachment:
si6509_4_rdy.png
si6509_4_rdy.png [ 23.13 KiB | Viewed 551 times ]

Attachment:
6509_4_rdy.png
6509_4_rdy.png [ 35.01 KiB | Viewed 551 times ]


Top
 Profile  
Reply with quote  
PostPosted: Fri Dec 03, 2021 9:43 am 
Offline
User avatar

Joined: Fri Nov 09, 2012 5:54 pm
Posts: 1431
That's all for now.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 9 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 47 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron