Re: 1571/1581 Sources: Macro WDTEST inserting NOP before reading WD177x status register / writing command register

From: Gerrit Heitsch <gerrit_at_laosinh.s.bawue.de>
Date: Sat, 12 Mar 2022 11:36:31 +0100
Message-ID: <272c48a8-303a-39d8-fc29-82b172cdc73d_at_laosinh.s.bawue.de>
On 3/11/22 19:06, Francesco Messineo wrote:
> Hi,
> 
> On Fri, Mar 11, 2022 at 6:13 PM Spiro Trikaliotis
> <ml-cbmhackers_at_trikaliotis.net> wrote:
>>
>> Hello,
>>
>> I am trying to understand the sources of the 1571 and 1581 drives.
>>
>> In the original drive sources of the 1571 and 1581 (as found on
>> zimmers.net), there is a macro WDTEST:
>>
>> WDTEST  .macro
>>          .ife <*!.$03
>>          nop
>>          .endif
>>          .endm
>>
>> I am not completely familiar with the syntax of the assembler used, but
>> if I understand it correctly, it issues a NOP if bit 0 and bit 1 of the
>> PC are both 0 - that is, the PC address is divisble by 4.
> 
> wild guess:
> The WD1770 in the Commodore 1571 (and I guess in the 1581 too, but
> I've never seen one) has its chip select line
> qualified with the wrong clock. Let me explain better: when a
> peripheral device must be connected to the 6502's bus, it either has a
> phi2 input
> or we usually qualify the select to happen during phi2 high.
> Sometimes, for example with static rams, it's usually enough to
> qualify the write signal to phi2 high only.
> Now, the 1571 was made when all the good engineers had already left
> Commodore by a long time and to save one gate, they used phi1 LOW
> OR'ed with the decoded
> address range to obtain the WD1770 select.

Possible... But in the 1581 they use PHI2, at least according to the 
schematics. Also, so far I have never seen a WD1770 in a 1581, the ones 
I have seen used the WD1772 or VL1772.

  Gerrit
Received on 2022-03-12 12:00:03

Archive generated by hypermail 2.3.0.