The Archimedes (and other arm26 machines) use a video chip called VIDC. The VIDC chip is a little unusual in that it is unable to drive the address bus. Instead, it makes DMA requests to the MEMC chip, which will drive the address lines.
Since VIDC is basically a glorified RAMDAC, We have to program the video DMA setup into memc, as well as the display parameters into the VIDC. The MEMC sets aside a *maximum* of 480KB of DRAM for video purposes. The kernel does not use this RAM until it has been freed by the memcfb driver.
Since the VIDC is a fairly lame RAMDAC by todays (and several years back) standards, some solutions were created to allow higher resolution and / or colourdepths to be used on the archimedes. To my knowledge there are three such solutions, the PCATS enhancer (which basically allows vidc to be overclocked and offers a greater selection of pixelclocks), and the Colourcard, which was produced in slightly differing variants by both Computer Concepts and State Machine. I only have a colourcard myself, though.
I wanted to make the colourcard driver a module so users of machines low on RAM could remove the driver if they didnt have one, and I also wanted to allow drivers to be created for the PCATS and State Machine cards. So I created the 'ramdac' driver interface.
Basically, I want to allow a driver to register with the MEMC/VIDC driver, and take the responsibility for setting the display mode. the MEMC/VIDC combination would be responisble for feeding data to the 'RAMDAC'. In the PCATS case, the RAMDAC would actually *be* the VIDC, and may be best to simply merge with the memcfb driver. However the Colourcard actually buffers the memcfb data in its own VRAM (it gathers data over the 4 bit video bus that VIDC exposes).