Re: How hardware accelerators deals with $0/$01

From: Marko Mäkelä <msmakela_at_gmail.com>
Date: Tue, 24 Oct 2017 08:39:26 +0300
Message-ID: <20171024053926.vokz3dtzq55fvm7c@hp>
On Fri, Oct 20, 2017 at 01:10:01AM +0200, groepaz@gmx.net wrote:
>Am Donnerstag, 19. Oktober 2017, 22:22:44 CEST schrieben Sie:
>> On 10/19/2017 10:03 PM, Mia Magnusson wrote:
>> > Are we sure that the 6510 I/O port isn't accessible from external
>> > hardware when the CPU is in DMA/three state mode?
>>
>> Yes... The address lines of the 6510 are output only, same for the R/W
>> line. Also an access by the 6510 to $00 and $01 does not appear on the
>> address and data bus.
>
>not entirely true - the address appears on the bus (remember, a write to $00/
>$01 _does_ write to the RAM also!) only the data does not.

Right. On a C64 or C128 where the open address space (such as 
$de00-$dfff when nothing is connected to I/O1 or I/O2 on the 
cartridge port) acts deterministically, the writes to $00 or $01 would 
essentially copy the data from the previous VIC-II memory access to the 
RAM location 0 or 1. If I remember correctly, VICE correctly runs my 
program "dadb" that partially runs in the color RAM. I suppose it would 
also correctly emulate the writes to 0 and 1.

It is also possible to read from 0 or 1 with the help of the VIC-II. I 
do not remember doing this myself, but an obvious solution would be to 
read the data using the sprite collision registers.

	Marko

       Message was sent through the cbm-hackers mailing list
Received on 2017-10-24 06:02:24

Archive generated by hypermail 2.2.0.