Re: How to resume the 6510 after being stopped the hardware way.

From: Maciej Witkowiak <ytm_at_elysium.pl>
Date: Mon, 11 Jul 2022 09:35:15 +0200
Message-ID: <CAB+mWqsn6bMR-22wMzPPGFZ-xTQ7fCf5sDcoPn+cX0nCuvfmVA_at_mail.gmail.com>
C128 service manual says this about VIC:

DMA and Bus Arbitration

True DMA of the internal processor can now be accomplished by requesting
the DMA through VIC.
The VIC will shut down the processor in an orderly fashion, instead of a
suicidal fashion. A DMA
source requests a DMA via the DMARQST input. VIC will respond to that
request with a DMAACK
after shutting down the processor. The DMA source must listen to the DMAACK
line and be prepared
to itself be shut down in the event that VIC decides to do its own DMA.
Thus, the VIC chip has the
highest DMA priority. The C128 system does not use this DMA arbitration
scheme, but a fatal DMA
scheme similar to that of the C64.

On a C128 indeed DMAACK is not connected to anything and DMARQST is pulled
high.

Has anyone ever tried do use this? As I understand the designers wanted to
simplify the DMA process: just pull DMARQST low and do your stuff only
while DMAACK is low.

ytm


On Sat, Jul 9, 2022 at 9:52 PM <ruud_at_baltissen.org> wrote:

> Normally you don't stop the 6510 "just like that". When giving control
> to the Z80 in the CP/M module it is the 6510 that initiates the whole
> proces. It (re)sets a flipflop with a specific bit which on its turn
> negates the DMA line and then executes some NOPs. When the Z80 returns
> the control, the 6510 resumes with executing those NOPs and then resumes
> with the rest of the program.
>
> If you negate the DMA line just out of the blue, there is a chance that
> you disable it in the middle of reading an instruction. If you "stop"
> the 6510 in the beginning of PHI2, you will disable the buses of the
> 6510. The 6510 will read $FF as the next instruction and that is a KILL
> instruction: stop and do nothing at all anymore. Looks familiar?
>
> I can give several other reasons why things can go wrong. But my main
> message is: negate the DMA line only under controlled circumstances.
>
>
> --
>
> Kind regards / Met vriendelijke groet, Ruud Baltissen
>
> www.Baltissen.org
>
>
>
Received on 2022-07-11 10:00:07

Archive generated by hypermail 2.3.0.