Can i use BIT $2007 to increment the PPU pointer and not write anything?
Moderator: Moderators
- Controllerhead
- Posts: 314
- Joined: Tue Nov 13, 2018 4:58 am
- Location: $4016
- Contact:
Can i use BIT $2007 to increment the PPU pointer and not write anything?
Title is the question. Is this safe to do? Are there any known fail cases?
- rainwarrior
- Posts: 8734
- Joined: Sun Jan 22, 2012 12:03 pm
- Location: Canada
- Contact:
Re: Can i use BIT $2007 to increment the PPU pointer and not write anything?
Yes, that can be used.
However, if using DPCM it should not, because there's a possibility of a double-read conflict if the sample is fetched at the same time, which will increment twice.
However, if using DPCM it should not, because there's a possibility of a double-read conflict if the sample is fetched at the same time, which will increment twice.
- Controllerhead
- Posts: 314
- Joined: Tue Nov 13, 2018 4:58 am
- Location: $4016
- Contact:
Re: Can i use BIT $2007 to increment the PPU pointer and not write anything?
Exactly the kind of in-depth knowledge i'm looking for. Thank you!rainwarrior wrote: ↑Mon Apr 26, 2021 1:01 pm However, if using DPCM it should not, because there's a possibility of a double-read conflict if the sample is fetched at the same time, which will increment twice.
-
- Posts: 160
- Joined: Sat Apr 24, 2021 7:25 am
Re: Can i use BIT $2007 to increment the PPU pointer and not write anything?
I always found that strange that this happens. Also another thing I find odd is that $4017 is associated with both the second controller and APU frame IRQs. Would there be a similar conflict there?rainwarrior wrote: ↑Mon Apr 26, 2021 1:01 pm Yes, that can be used.
However, if using DPCM it should not, because there's a possibility of a double-read conflict if the sample is fetched at the same time, which will increment twice.
Re: Can i use BIT $2007 to increment the PPU pointer and not write anything?
$4017 write is APU frame IRQs. $4017 read is player 2. No conflict. It's like most mappers: $8000-$FFFF read is ROM, whereas $8000-$FFFF write is mapper commands.
Re: Can i use BIT $2007 to increment the PPU pointer and not write anything?
No, because the effects of accessing this address differ depending on whether the access is a read or a write. Like I said before, in addition to using the address lines when deciding which device to activate, the system also uses the read/write signal, and based on that it can select completely different devices on the same address.puppydrum64 wrote: ↑Mon May 10, 2021 7:44 amAlso another thing I find odd is that $4017 is associated with both the second controller and APU frame IRQs. Would there be a similar conflict there?