## Graphics Adapter Device Driver Reference

[prev][next][parent][TOC]

### [SetBank]

Specifies the commands necessary in order to switch banks on a frame buffer device. The function is called as part of the saving and restoring of the frame buffer for any mode with an aperture smaller than the PageLength. The bank number is assumed to be in r0. If the aperture is large enough to accommodate direct access to VRAM needed in any mode, the section may be omitted.

Here is a sample .PMI file for a 9GXE S3 card:

    [SetBank]
                             //r0 contains the bank number
    inb(r1, 0x3d4);          //save index
    outb(0x3d4, 0x35);
    r2   = r0   &  0x0000000f;
    outb(0x3d4, 0x51);
    inb(r2, 0x3d5);
    r2   & = 0x00000030;
    r0   >>= 0x00000002;
    r2   & = 0x000000f3;
    r0   |= r2  ;
    outb(0x3d5, r0);         //set bank
    outb(0x3d4, r1);         //restore index