Re: Improved memory detection for cgsix
Michael <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.sparc |
|---|---|
| Organization | The NetBSD Foundation |
| Message-ID | <20220302195911.09bdfeda@bushmills> |
Hello, > > Alright, I'll definitely dig up a 4MB board and do some experiments. It > > would be great if we could use all the memory. And here's what I just did: cgsix_rectfill(sc, 10, 10, 300, 300, 0xe0e0e0e0); cgsix_rectfill(sc, 10, 1821, 300, 600, 0x07070707); cgsix_bitblt(sc, 0, 1821, 400, 0, 400, 400, CG6_ALU_COPY); This draws a red square into the visible screen, then draws a blue one into VRAM just beyond 2MB ( 2MB divided by 1152 -> 1820 ), then blits that into the visible screen next to the red square. The idea being, if we wrap around at 2MB the blue square will distort the visible screen, if we hit unmapped space the attempt to copy the blue square will get us garbage or errors. On my 501-2253 I got an undisturbed red square and next to it a blue one with an uninitialized memory pattern around it, so we didn't wrap and we didn't hit unmapped space either, which means the blitter can indeed see the full 4MB. So, I was wrong about the whole thing. I thought it would at least need some register voodoo to disable double buffering and allow access to the full framebuffer, but apparently it doesn't even need that. have fun Michael