Re: VC1541 with fast serial?

From: André Fachat <afachat_at_gmx.de>
Date: Mon, 26 Aug 2019 23:55:42 +0200
Message-ID: <16ccfed7730.27ff.b4d1f2b66006003a6acd9b1a7b71c3b1_at_gmx.de>
Am 26. August 2019 23:30:25 schrieb Mia Magnusson <mia_at_plea.se>:

> Den Mon, 26 Aug 2019 15:33:07 +0200 skrev Francesco Messineo
> <francesco.messineo_at_gmail.com>:
>> On Mon, Aug 26, 2019 at 3:22 PM André Fachat <afachat_at_gmx.de> wrote:
>>>
>>>
>>>
>>> Am 26. August 2019 15:16:09 schrieb Francesco Messineo
>>> <francesco.messineo_at_gmail.com>:
>>>
>>>> On Mon, Aug 26, 2019 at 2:28 PM <afachat_at_gmx.de> wrote:
>>>>>
>>>>> On Montag, 26. August 2019 14:02:22 CEST groepaz_at_gmx.net wrote:
>>>>>> Am Montag, 26. August 2019, 13:53:21 CEST schrieb
>>>>>> afachat_at_gmx.de:
>>>>>>> Hi there,
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> has anyone actually every tried to convert the VC1541 to use
>>>>>>> the fast serial bus of the C128?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> As I see it, on the UC3 VIA here
>>>>>>> http://www.zimmers.net/anonftp/pub/cbm/
>>>>>>> schematics/drives/new/1541/short-251748-rev.E-left.gif there
>>>>>>> still are
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> - Port A0-7
>>>>>>> - CB1
>>>>>>> - CB2
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> unconnected. These could be used to
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> - CB1/2 shift out under T2 control and
>>>>>>> - PA0-7: connected to a 74LS164 serial-to-parallel shift-in
>>>>>>> register
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> The only other thing needed would probably be a 74LS14 Schmitt
>>>>>>> trigger input driver, a 7406 output driver, and potentially
>>>>>>> replacing the PB6 drive ID input with an SRQIN input, and of
>>>>>>> course a fly-wire to the IEC's SRQIN pin 1.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> What do you think?
>>>>>>
>>>>>> you also need some extra synchronisation to eliminate the via
>>>>>> bug with external clocking (which is basically the reason for
>>>>>> why its not used in the 1541). i vaguely remember it being
>>>>>> described in either one of the datasheets, or perhaps
>>>>>> application notes.
>>>>>
>>>>> The VIA's shift register bug only happens on shift in under
>>>>> external clock.
>>>>>
>>>>> That is why the VIA's shift register is only used to shift out,
>>>>> and the shift in in my proposal happens via the extra 74LS164
>>>>> serial-to-parallel shift-in register, and be
>>>>> presented as byte value on PA
>>>>
>>>> the 6522 bug can be avoided by clocking the data-in on the rising
>>>> edge of phi2, it takes half of a 74LS74 to do that (or HCT74 for
>>>> the modern guys among us).
>>>
>>> Using this approach you would also need circuitry to decide when to
>>> send and when to receive, the HCT74 of course only works on rx and
>>> must be switched off during send.
>>
>> since send/receive use the same line on the bus, you would also need a
>> direction control somewhere in the path.
>> You can use 2/4 of an HCT125 for the other path if using the '74 on
>> receive and to tristate the '74 direction when not needed.
>> I think however that jiffydos is fast enough and doesn't need any
>> hardware hack and yet another software hack.
>
> The LS164 clock and data inputs can of course listen to the bus all the
> time. The 6522 can afaik change direction of it's clock pin by
> software. So Andrés idea would as I see it not need any additional
> hardware to switch direction.

Indeed the VIA SR clock and data pins could be connected all the time, set
to output all the time. One only needs to exit SR mode by software to make
sure both signals are inactive when not needed. The data pin of the SR
keeps the last bit shifted out, that could disturb other transfers if not.

>
>
> This assumes that the drive capability of the clock pin on the VIA is
> enough for the serial bus. Not sure about that as every signal on the
> regular serial bus is buffered by 74xx open collector inverters.

Due to the SR clock polarity you would not need an inverter. To drive the
bus I would recommend, as I mentioned above, a driver (e.g. 74ls14 +
74ls06), and a Schmitt Trigger receiver (e.g. 2x 74ls14, two to keep polarity)

And yes, I never liked the direct connection of the CIA pins to the IEC bus
on the C128....

So the total solution for my approach would be a 74hct14, a 74ls06, and a
74hct164 I think, I guess with two flywires to the IEC data and Srqin pins
for the fast serial data and clock

André
>
>
> --
> (\_/) Copy the bunny to your mails to help
> (O.o) him achieve world domination.
> (> <) Come join the dark side.
> /_|_\ We have cookies.
Received on 2020-05-29 22:57:56

Archive generated by hypermail 2.3.0.