Jump to content
GoodByteXL

What is the real core of ATARI's 6502C CPU

Recommended Posts

There's more errors in that sheet than I dare count. But no matter what that one sheet says, other official documents do it right, although even they used upper case at times. Some people just don't take care about such seeming trivialities, and back then, the 6502C wasn't even made yet, so it didn't really matter. Just goes to show how such a small thing as letter case, matters in technical things. People been talking on about speed, and it never even was relevant to the question.

 

<reason for edit: I read the date wrong and said this was an issue for a year, but it's only 2 weeks, kinda. lol But the thread was long enough to have taken over a year. ;-) >

I blame the lack of case-sensitivity on the newer shit languages like Visual Basic since they don't care :) Since I'm thinking about it, I also have to mention that real languages start counting from 0. <rant mode off>

  • Like 1

Share this post


Link to post
Share on other sites

Appendix I of the book "Understanding the Apple II" mentions that Wozniak had originally tried a DMA setup like the Atari, where the display circuitry would preempt the 6502 for 40 cycles for each scanline. Apparently he had to abandon it because he kept running into issues with the dynamic circuitry in the 6502 failing if the CPU was stopped too long, and even if it did work, it could stop working as the CPU aged. I wonder if it's possible that Atari hit this problem and used higher rated parts to avoid it. A wide mode 2-5 line could definitely halt the CPU that long.

 

This is an old thread, but I thought I'd chime in...

 

The topic of CPU speed rating to the side for a moment, I think we have an answer to why Woz's 40 cycle DMA reads didn't work for him, yet Atari's video DMA would have worked just fine. Looking at this discussion, we've since determined the ANTIC timings. Before each line, it'll do 8 DMAs in a row, and then at most, groups of three when it has to do a DRAM refresh. The highest bandwidth video modes create a DMA every other cycle.

 

Atari designed the ANTIC to read from memory while it was in the process of generating the line (rather than buffer). It looks like Woz was trying trying to read the entire line and then process it. Atari didn't halt the CPU for nearly as long, so in that way it may have avoided the state decay inside of the CPU (even if on the early 6502B models which didn't have the 6502C HALT signal).

Share this post


Link to post
Share on other sites

Supposedly /HALT should act the same regardless of B or C CPU. The point of it is to hold the CPU in the part of the cycle where it's off the buses.

The problem as described is that the older CPUs can't just have their clock stopped for too long as they lose register contents. Supposedly the 65C02 CMOS variant uses static architecture so only needs power and the clock can be held indefinitely (?) but that doesn't apply to standard Ataris and only applies to some later A2s.

 

Potentially Antic can generate a lot of /HALTs in a row, e.g. badline on a 48 character line it looks like about 94 in a row. Graphics DMA will usually stop @ cycle 105 regardless of HScrol setting, followed by a refresh cycle.

 

Worst case scenario, supposedly there should still be 10 non-halted cycles on a scanline. I suspect that from the CPU retaining it's contents perspective, 1 running cycle is probably no worse than 10 in a given time period.

 

The C64 uses /RDY on badlines. The difference with that being that the CPU will still be clocked but just stop executing after the current instruction until it's released.

Edited by Rybags

Share this post


Link to post
Share on other sites

 

The topic of CPU speed rating to the side for a moment, I think we have an answer to why Woz's 40 cycle DMA reads didn't work for him, yet Atari's video DMA would have worked just fine. Looking at this discussion, we've since determined the ANTIC timings. Before each line, it'll do 8 DMAs in a row, and then at most, groups of three when it has to do a DRAM refresh. The highest bandwidth video modes create a DMA every other cycle.

 

Atari designed the ANTIC to read from memory while it was in the process of generating the line (rather than buffer). It looks like Woz was trying trying to read the entire line and then process it. Atari didn't halt the CPU for nearly as long, so in that way it may have avoided the state decay inside of the CPU (even if on the early 6502B models which didn't have the 6502C HALT signal).

 

Nope. ANTIC DMAs every cycle for 64+ cycles at the start of a high speed character mode line, halting the CPU for the entire time. For the standard GR.0 screen it's 80 straight cycles. It's longer than Woz's problematic situation, since it's twice as many cycles at not quite twice the clock rate (1.79MHz vs. 1.02MHz). Reading 40 cycles continuously also doesn't imply buffering; back-to-back cycles are needed at 1MHz just to keep up with the video scan-out.

Share this post


Link to post
Share on other sites

Maybe the B model has better characteristics. Or maybe the ~ 2 year difference in age meant that by the time Atari was in development all the new 6502s were better.

Share this post


Link to post
Share on other sites

Refer phaeorn's Altirra Atari Harware Reference manual, incorporating handy DMA charts.

 

Possibly the 6502 datasheets can help? I can remember reading somewhere of the difference between N/CMOS where the earlier one required both a certain minimum clock rate as well as only being able to be put into a halt state for so many microseconds.

Share this post


Link to post
Share on other sites
On 12/30/2010 at 1:22 PM, JamesD said:

The 6809 had the same issue. I think it could hold contents for at least 13 clock cycles or something like that.

 

The HALT pin on the Atari 6502C would have to keep refreshing the registers while pausing the buss accesses. I'd like to see how some of the 6502 cores that support the Atari chip pinout handle this. It would be interesting to see how complicated it is.

The Atari "6502C" is best to be called simply SALLY or the official Atari nomenclature on the chip. It is not officially called 6502C. It was an informal name. MOS Technology officially has a 6502C which is clockable to 4 Mhz (without overclocking but officially rated for). The Sally is custom and may even been based on the MOS 6502C core but had some modifications like the noted HALT line and other changes. MOS, Rockwell, and Syntertek manufactured the Sally for Atari. MOS may have even been involved in engineering that custom version for Atari where there was an agreement that MOS et al would only manufacture that custom part for Atari only.

 

MOS Technologies (which was owned by Commodore in 1975), in 1989 started stamping the chips with the "Commodore Semiconductor Group (CSG)" name had manufactured 65xx products for Apple and Atari and others. Atari would still be required to pay Commodore royalty even for the Sally. I suspect that there will be fewer Sally's made by MOS/CSG then Rockwell and Syntertek because MOS/CSG had a huge demand on their chip production with their C64 sales after 1983, the disk drives, and a variety of other products from Commodore from 1984 and later. Getting parts directly from MOS/CSG kind of become a pricier commodity when they could get them from second-sources more readily at this time because Commodore was from time to time maxing out their chip production capacity. When the Amiga came along, this too was going to be harder to get direct from MOS as those parts were mostly in the Commodore products that used the chip. The second source licensees began handling the non-Commodore products like Atari and Apple. They let them handle those companies and collected royalty but they did do some runs of the chips. I think it made practical sense and that assured there was 65xx parts so there wouldn't be shortages of 65xx chips. Commodore did more of that early on and then allowed more of that to be handled via licensees than directly out of the Norristown, PA plant. Rockwell and others had the capacity to fulfill chip production demands for other companies. 

 

Bill Mensch of Western Design Center, had decided to implement the principle of using licensees (hence... why they are "fabless") so companies like Rockwell and others produced CMOS 65xx chips and WDC collected royalty so as to not have to do the manufacturing in-house. This would have been cost prohibited for Bill Mensch in the early days because setting up a foundry is not cheap especially for volume production. 

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
1 hour ago, Wildstar said:

I suspect that there will be fewer Sally's made by MOS/CSG then Rockwell and Syntertek because MOS/CSG had a huge demand on their chip production with their C64 sales after 1983, the disk drives, and a variety of other products from Commodore from 1984 and later. Getting parts directly from MOS/CSG kind of become a pricier commodity when they could get them from second-sources more readily at this time because Commodore was from time to time maxing out their chip production capacity.

It is well-documented elsewhere that Atari only chose the 6507 for the VCS/2600 once they got MOS to agree to allow second-sourcing the fab capacity elsewhere. That obviously carried over to the 6502Bs later used in the 400/800 and SALLY. Although I have a system somewhere around here somewhere that has an MOS SALLY in it. 

200FF635-CDE4-4E88-8D9C-32816830BAE1.jpeg

Edited by DrVenkman
Added pic
  • Thanks 1

Share this post


Link to post
Share on other sites
3 hours ago, DrVenkman said:

It is well-documented elsewhere that Atari only chose the 6507 for the VCS/2600 once they got MOS to agree to allow second-sourcing the fab capacity elsewhere. That obviously carried over to the 6502Bs later used in the 400/800 and SALLY. Although I have a system somewhere around here somewhere that has an MOS SALLY in it. 

200FF635-CDE4-4E88-8D9C-32816830BAE1.jpeg

Either way, it was something Commodore would have done at some point whether by Atari's negotiation or by Apple and others. In any case, making sure there is a supply. Everyone in the computer industry at that time were familiar with the calculator wars of the 1960s and early 70s at that time. Commodore understood the need of second source. That was how Commodore stayed in business and survived the calculator wars. Obviously, Atari didn't want to be in that place and even Jack Tramiel of Commodore understands that so it would be important to have second sources in which case, Commodore would have royalties from those second sources. If Commodore couldn't supply these chips out of their one and single chip foundry, they would be losing money from all those computers that would be using their chip but would have otherwise had to go to some other chip. Lets also remember it wasn't only Atari but also Apple using the 6502 (and variants). However, Commodore got their royalty from the MOS 65xx IP manufactured by the second sources (licensees) that were used in computers and consoles by Apple, Atari, Acorn, BBC, Ohio, Orao, Oric, and perhaps some others. Some going all the way back to the late 1970s.

 

Share this post


Link to post
Share on other sites
19 hours ago, Wildstar said:

MOS Technology officially has a 6502C which is clockable to 4 Mhz (without overclocking but officially rated for). The Sally is custom and may even been based on the MOS 6502C core ...

 

We talked about this already years ago, in this very same thread I believe. There is no such a thing as a 6502C core, or 6502B core for that matter. There are no speed grade specific cores or masks. All 6502 NMOS parts are essentially the same with very minor mask modifications. The speed grades are obtained just by binning (using a term that nowadays is very popular, but I'm not sure it was already used back then).

 

Anyway, I doubt very much that Sally was specified for  4MHz, or even 3 MHz. That would have reduced the yield and increased the cost unnecessarily.

Share this post


Link to post
Share on other sites

hi,

  did Atari ever have a spec sheet for the CO14806? I never came acroos that one, or the one for POKEY. did they ever exist or get out to roam wild?

 

Ken

 

Share this post


Link to post
Share on other sites
2 hours ago, kenames99 said:

did Atari ever have a spec sheet for the CO14806? I never came acroos that one, or the one for POKEY. did they ever exist or get out to roam wild?

 

I've never seen a Sally datasheet. Datasheets for the custom chipset were released by Curt many years ago. Pokey's one is here:

http://visual6502.org/images/C012294_Pokey/pokey.pdf

  • Like 2

Share this post


Link to post
Share on other sites

The 6502C stands probably for "custom 6502".  I quote the relative article from atarimania.com

"This chip was originally named SALLY by Atari engineers, but Atari
Customer Support documents (Field Services Manuals) variously described it as
"6502 (Modified)", "6502 Modified", "Custom 6502", or "6502C".  Field Service
Manuals published by Atari, Corp./Atari Corporation reverted to using the
chip's original name, SALLY, while Atari, Corp./Atari Corporation XE consumer
owner's manuals (unfortunately) continued to use "6502C" in reference to the
SALLY 6502.
Several manufacturers produced the SALLY 6502 for Atari, including MOS
Technology, Synertek, Rockwell, NCR, and United Microelectronics (UMC).  It is
important to note that chips marked "6502C" such as the MOS Technology
MCS6502C, MOS Technology MPS6502C, Synertek SY6502C, Rockwell R6502C, or UMC
UM6502C are NOT the Atari "6502C" but rather equivalents to the standard
MCS6502 that are certified for 4MHz operation.  Atari SALLY 6502 chips are
never marked "6502C" but, other than the UMC UM6502I, always carry the Atari
part number C014806."

So using  letters(A,B,C) to grade 6502 by maximum speed IS a thing but it's not relevant to  Atari's C014806 variant. Its only for the standard 6502 cpus. We are talking about two different products.

 

There is another variant that can only be found in early 400, 800 models which appears to be a standard 6502 cpu. The Sally chip  replaced a number of logic chips responsible for the same halt routine in those early models.

The truth is that Sally chip exists only because of cost reducing practices.

link:

http://www.atarimania.com/faq-atari-400-800-xl-xe-what-are-sally-antic-ctia-gtia-fgtia-pokey-and-freddie_14.html

Share this post


Link to post
Share on other sites

You should have read more of the thread before replying because everything you say above was already said years ago in this same thread. 😔

  • Like 2

Share this post


Link to post
Share on other sites
3 minutes ago, Gunstar said:

You should have read more of the thread before replying because everything you say above was already said years ago in this same thread. 😔

I was addressing ijor's post......

Share this post


Link to post
Share on other sites

It would be interesting to know if Sally is just the known MOS 6502 die with some extra logic tacked to it, or not :)

 

Edited by ivop

Share this post


Link to post
Share on other sites
8 minutes ago, ivop said:

It would be interesting to know if Sally is just the known MOS 6502 die with some extra logic tacked to it, or not :)

Ch

Check this series of a guy restoring an Atari 800xl . In episode 3,4 and 5 he reverse engineers, designs and builds the circuit that is inside a Sally chip and uses it with a standard 6502. He literally uses 4 logic chips.

 

btw this dude is the high priest of new age woo, Bernardo Kastrup. His philosophy may suck but he is a master in computer engineering.(actually he has a PhD on this).

  • Like 1

Share this post


Link to post
Share on other sites
42 minutes ago, Nickolasgaspar said:

Check this series of a guy restoring an Atari 800xl . In episode 3,4 and 5 he reverse engineers, designs and builds the circuit that is inside a Sally chip and uses it with a standard 6502. He literally uses 4 logic chips.

You don't need to "reverse engineer" anything except to compare the two versions of the Atari 800 Personality Board - early versions have standard 6502B chips and external logic for the HALT line; later versions use SALLY chips. The boards are interchangeable so the edge connectors are identical between the versions. 

 

For that matter, the Atari 800 Field Service Manual has schematics for the whole system. Just read that. 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
1 minute ago, DrVenkman said:

You don't need to "reverse engineer" anything except to compare the two versions of the Atari 800 Personality Board - early versions have standard 6502B chips and external logic for the HALT line; later versions use SALLY chips. The boards are interchangeable so the edge connectors are identical between the versions. 

 

For that matter, the Atari 800 Field Service Manual has schematics for the whole system. Just read that. 

correct he oversold his efforts there....

Share this post


Link to post
Share on other sites
6 hours ago, Nickolasgaspar said:

So using  letters(A,B,C) to grade 6502 by maximum speed IS a thing but it's not relevant to  Atari's C014806 variant. Its only for the standard 6502 cpus. We are talking about two different products.

 

...

Quote

I was addressing ijor's post......

 

Really??? Which post? What did I say that contradicts your post??? I actually said years ago that the speed grades letter suffixes don't apply to Sally.

Share this post


Link to post
Share on other sites
On 5/5/2021 at 8:00 PM, ijor said:

 

We talked about this already years ago, in this very same thread I believe. There is no such a thing as a 6502C core, or 6502B core for that matter. There are no speed grade specific cores or masks. All 6502 NMOS parts are essentially the same with very minor mask modifications. The speed grades are obtained just by binning (using a term that nowadays is very popular, but I'm not sure it was already used back then).

 

Anyway, I doubt very much that Sally was specified for  4MHz, or even 3 MHz. That would have reduced the yield and increased the cost unnecessarily.

I never said that our posts contradicted each other. In a discussion one can add to other people's comments.  I only pointed out that, independent of the method (binning or not)  6502s were graded and Atari's internal nickname (6502C) caused  confusion   and ambiguity specially when it was included in commercial documentation.

There was also no reason to put binned cpus in Atari 8bit and C64 machines because it would affect the rest of their architecture. As far as I know the PCs were the first to allow such upgrades without the need of any daughter boards...and this was their recipe of success.

Share this post


Link to post
Share on other sites
3 hours ago, Nickolasgaspar said:

Check this series of a guy restoring an Atari 800xl . In episode 3,4 and 5 he reverse engineers, designs and builds the circuit that is inside a Sally chip and uses it with a standard 6502. He literally uses 4 logic chips.

I was talking about the die of Sally. I.e. what's inside the chip. Did Atari copy the MOS die and added some 74xx circuitry (on the die), or did they design their own NMOS die?

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...