faybs wrote:
Was Jim referring to the known 6522 SR bug that can appear when the SR is clocked externally, or is this a different bug? It seems to me like it's a different issue (none of the tricks I know of to get tones out of a 6522 require an external clock driving CA1/CB1), but I thought I'd ask the more experienced members here.
My personal opinion, based on additional years of information, is that Jim was combining two partial stories.
In this PDF:
http://archive.6502.org/datasheets/synertek_sy6522.pdf
Mode 010 sounds like something that might affect CB2 sound. Or, ther might be some IRQ issues (tape routines use the timers in the 6522 for tape timing) in the 6522.
However, I think the issue causing CBM to discard 6522 SR IEC routines was the Mode 011/111 issue noted in the PDF (and Garth Wilson's explanation in this forum under a heading about WDC 6522 still having this issue.) CBM would have attached the IEC_CLK line to the 6522 as an external clock line, and it would have been asynchronous, so the issue would have cropped up.
I think someone later (or at the time) described the issue to JB as being the result of a 6522 SR bug, and Jim connected the earlier CB2 sound issues with the IEC issues incorrectly.
I say that because CBM would not have cared if other things were disrupted while disk access was occurring. At the time of introduction of the VIC, nothing else happened while disk access was occurring, and the VIC was designed primarily as a cartridge unit, not a disk unit, so I doubt CBM was concerned about the slight possibility that video or sound generation would be ill affected by IEC routines during a game load, etc.
In fact, part of me submits the story is a historical rewrite by CBM, passed to Jim to lend some authenticity. We'll never know, though, and I am not suggesting Jim believed it was anything less than the truth. Why? The VIC was designed with cost in mind. Many people agree the VIC-20 contained many of its parts because they were overstocked (the curious amount of RAM, the 6560/61, etc.) and using existing stock would have lowered cost a bit. The choice of serial bus aligns with this. Jack knew the custom IEEE488 cables and connectors were premium priced, while DIN was much cheaper, and easier to low-cost source. In light of this cost consciousness, I think the engineers knew about the SR bug and communicated it, but Jack vetoed the idea of a redesign of the 6522 for cost and stock supply reasons. Jack probably saw no issue with the ~2kBs rate of the bus, as it would keep PET users from screaming about the IEEE price premiums, and it would still load a VIC game in a 2-5 seconds.
Another option is that the bug is hard to eradicate, harder than Jim was led to believe. That the Synertek app note discusses a work around while having noted they fixed the mode 011 bug lends some weight to the idea that the timing issue was hard to address without significant redesign.
It's probably somewhere in the middle. There were probably folks in CBM who wanted to use the 6522 once Jack mandated a move from IEEE488. They wrote some initial 6522 SR code, and it started failing. Once they tracked down the issue, noted the penalty, CBM bean counters decided the lack of demand for disk drives, coupled with the lack of concern over a VIC app loading in 5 seconds versus .5seconds (at fastest rate, 6522 can clock in at 250kbps, or ~31KBps) killed any attempt to fix the issue.
Jim