Closed DvdBoon closed 8 years ago
I believe pci.library
has VoodooMem
and RadeonMem
environment variables (both in EnvArc:Mediator/
), which are supposed to limit how much memory will Picasso96 use.
Seeing how things get overwritten, I think it is the other way around. Those variables indicate how much memory is NOT available for system memory. I already raised RadeonMem to 32MB but still see screens getting allocated beyond the 32MB. Plenty of memory in a Radeon so it doesn't clash as it does with the Voodoo.
These variables existed long before Elbox started supporting using graphics card memory as system memory.
Since you have the Mediator, you can check the bundled CD. There you will find some files with documentation (AmigaGuide format if I remember correctly), one of these explains how this variable works. Of course, it might lie or be outdated, one could only be 100% sure after further reverse engineering of pci.library
.
Yes, now I remember. They are there to leave some space for 'DMA' memory for spider and/or fastethernet (1 or 2 MB).
I thought the way it works is this for a 16MB Voodoo: Voodoomem=12 Voodoo uses 12mb for display buffer Spiderbuf=1 1MB for Spider USB buffer Leaving 3MB as Amiga PCI RAM
This was probable a stack overflow problem as a result of the memory release problems as I haven't seen it anymore after the fix.
When not having a lot of gfx memory (read: voodoo card) and playing the Quake II intro (which is rather big) PPC code and/or data residing in Sonnet memory gets overwritten if you let the intro play long enough. This does not happen on a Radeon card with 256MB.
I'm guessing that the graphics driver assumes it has all $2005 memory for itself. And that allocating memory for bitmaps does not go through the normal memory allocation functions but through P96 or CGX.
Will look into it.