Update: I have done a followup with the response from WDC about this situation, and other interesting use cases for the VIA! • 8bit-times Ep. 25: VIA...
---
In this video we take a technical deep dive into the VIA 6522 Shift Register Bug - the cause why the Commodore (serial) disk drives like the 1541 were so slow.
We look at the bug, the conditions it happens, and test it out with various types of VIAs we have available. We also look at how to prevent it.
We reached out to Western Design Center about the bug, to see what they have to say to it. Unfortunately they said they need more time, so I'll keep you updated here when we get it.
Note that I cooperated with Dave McMurtie from the @Commodore International channel, who at the same time publishes a video on the historical aspects of the topic why Commodore disk drives are so slow. I recommend you watch it:
Dave's companion video: • Why Was the Commodore ...
Dave's channel: @commodorehistory
PS: Martin Thierer pointed me to a test he did where he generated synthetic control signals for a 6522 using an STM32F4, and could reproduce the bug. It consistently happens when the positive CB2 edge happens 90-40ns (in his tests) before the negative edge of Phi2. Here's the (German) writeup: www.forum64.de/index.php?thre...
PPS: yes, the Apple // did NOT have a VIA ...
Sections:
00:25 Introduction
01:40 Commodore IEEE vs serial bus
02:00 Shift register use in the Commodore serial bus
02:54 The Shift register bug
03:43 PET Shift register sound demo
04:18 Shift register serial communication and how the bug affects it
06:50 The Commodore "Fix"
07:11 Testing the bug
07:58 Test program and errors detected
08:49 My test setup
09:47 VIA variants tested and how to run the tests
10:33 Test variations
11:42 How to fix the shift register bug
12:55 Dave's tests on the VIC-20
16:19 Test results
21:06 Verifying the schematics
22:34 Test results summary
23:00 Consequences
25:50 Epilogue - two days later
Links:
Synertek SY6522 datasheet with shift register warning:
web.archive.org/web/202207081...
W65C22 datasheet at the WDC website
www.westerndesigncenter.com/w...
The test programs we used:
github.com/fachat/via-sr-bugtest
Reversed engineered VIA internal schematics:
forum.6502.org/viewtopic.php?f...
VIA shift register bug Fix:
forum.6502.org/viewtopic.php?p...
VIA differences and Fixed VIAs:
archive.6502.org/datasheets/ro...
CIA 6526 datasheet:
web.archive.org/web/201811260...
Western Design Center
www.westerndesigncenter.com/
PET sound demos:
shiru8bit.bandcamp.com/album/...
retrocomputingforum.com/t/bac...
• No Pets Allowed (Speak... (Sound first with Shift register, then with SID)
23 июл 2024