On Thu, Oct 13, 2016 at 07:03:30PM +0100, smf wrote: > On 13/10/2016 15:28, Gerrit Heitsch wrote: > >How much of it is spent in the upper and lower border and the vertical > >retrace where no memory access happens (not counting an open border > >with sprites)? More than 2 ms? Yes, and yes. > >So in order to make sure that the DRAM is refreshed properly, they > >just implemented a refresh counter which does 5 cycles per scan line. > > I thought upper/lower border was always fetching $3fff? During the side > borders it's fetching sprites, so you can't rely on that for refreshing It only fetches for active sprites, too. > Doing 5 refresh cycles per scanline will take 51 scanlines to read all > 256 addresses. This is about 3ms btw, so 2ms DRAMs shouldn't work well at all. > After 51.2 scanlines the VIC should have read all 256 addresses, just by > character fetches. I doubt they thought they'd better put a separate > dram refresh in case someone figures out how to mess up the character > fetching (duplicating rows/vsp etc). > > There must be another reason. The vertical blank (not border, *blank*) is almost 2ms already. They could have changed the VIC-II's memory access patterns. Either that would have hurt performance too much, or it was too much work (and/or risk), or a combination of those, and maybe other less obvious factors. The normal video matrix accesses are in no way good enough. Segher Message was sent through the cbm-hackers mailing listReceived on 2016-10-13 20:00:27
Archive generated by hypermail 2.2.0.