## diffname alphapc/screen.h 1999/0415 ## diff -e /dev/null /n/emeliedump/1999/0415/sys/src/brazil/alphapc/screen.h 0a typedef struct Cursor Cursor; typedef struct Cursorinfo Cursorinfo; struct Cursorinfo { Cursor; Lock; }; /* devmouse.c */ extern void mousetrack(int, int, int); extern Point mousexy(void); extern void mouseaccelerate(int); extern int m3mouseputc(Queue*, int); extern int mouseputc(Queue*, int); extern Cursorinfo cursor; extern Cursor arrow; /* * Generic VGA registers. */ enum { MiscW = 0x03C2, /* Miscellaneous Output (W) */ MiscR = 0x03CC, /* Miscellaneous Output (R) */ Status0 = 0x03C2, /* Input status 0 (R) */ Status1 = 0x03DA, /* Input Status 1 (R) */ FeatureR = 0x03CA, /* Feature Control (R) */ FeatureW = 0x03DA, /* Feature Control (W) */ Seqx = 0x03C4, /* Sequencer Index, Data at Seqx+1 */ Crtx = 0x03D4, /* CRT Controller Index, Data at Crtx+1 */ Grx = 0x03CE, /* Graphics Controller Index, Data at Grx+1 */ Attrx = 0x03C0, /* Attribute Controller Index and Data */ PaddrW = 0x03C8, /* Palette Address Register, write */ Pdata = 0x03C9, /* Palette Data Register */ Pixmask = 0x03C6, /* Pixel Mask Register */ PaddrR = 0x03C7, /* Palette Address Register, read */ Pstatus = 0x03C7, /* DAC Status (RO) */ Pcolours = 256, /* Palette */ Pred = 0, Pgreen = 1, Pblue = 2, Pblack = 0x00, Pwhite = 0xFF, }; #define vgai(port) inb(port) #define vgao(port, data) outb(port, data) extern int vgaxi(long, uchar); extern int vgaxo(long, uchar, uchar); /* */ typedef struct VGAdev VGAdev; typedef struct VGAcur VGAcur; typedef struct VGAscr VGAscr; struct VGAdev { char* name; void (*enable)(VGAscr*); void (*disable)(VGAscr*); void (*page)(VGAscr*, int); ulong (*linear)(VGAscr*, int*, int*); }; struct VGAcur { char* name; void (*enable)(VGAscr*); void (*disable)(VGAscr*); void (*load)(VGAscr*, Cursor*); int (*move)(VGAscr*, Point); }; /* */ struct VGAscr { Lock devlock; VGAdev* dev; VGAcur* cur; ulong storage; Cursor; int useflush; ulong aperture; /* physical address */ int isupamem; int apsize; ulong io; /* device specific registers */ ulong colormap[Pcolours][3]; Memimage* gscreen; Memdata* gscreendata; Memsubfont* memdefont; }; extern VGAscr vgascreen[]; enum { Backgnd = Pwhite, }; /* mouse.c */ extern void mousectl(char*[], int); /* screen.c */ extern void flushmemscreen(Rectangle); extern int cursoron(int); extern void cursoroff(int); extern void setcursor(Cursor*); extern int screensize(int, int, int); extern int screenaperture(int, int); /* vga.c */ extern void vgascreenwin(VGAscr*); . ## diffname alphapc/screen.h 1999/0512 ## diff -e /n/emeliedump/1999/0415/sys/src/brazil/alphapc/screen.h /n/emeliedump/1999/0512/sys/src/brazil/alphapc/screen.h 92c ulong aperture; /* physical address, kernel */ ulong pciaddr; /* physical address, user */ . ## diffname alphapc/screen.h 2000/0401 ## diff -e /n/emeliedump/1999/0512/sys/src/brazil/alphapc/screen.h /n/emeliedump/2000/0401/sys/src/9/alphapc/screen.h 123a extern void vgaimageinit(ulong); extern void drawblankscreen(int); . 121a /* devdraw.c */ extern void deletescreenimage(void); extern int drawhasclients(void); . 120a extern Rectangle physgscreenr; /* actual monitor size */ . 119c extern int screensize(int, int, int, ulong); . 114a extern int hwaccel; /* use hw acceleration; default on */ . 108c Backgnd = 0, /* black */ . 103a int (*fill)(VGAscr*, Rectangle, ulong); int (*scroll)(VGAscr*, Rectangle, Rectangle); ulong id; /* internal identifier for driver use */ . 99a int palettedepth; . 77a int doespanning; . 68a void (*drawinit)(VGAscr*); int (*fill)(VGAscr*, Rectangle, ulong); . ## diffname alphapc/screen.h 2000/0407 ## diff -e /n/emeliedump/2000/0401/sys/src/9/alphapc/screen.h /n/emeliedump/2000/0407/sys/src/9/alphapc/screen.h 142a extern void vgablank(VGAscr*, int); . 140a extern ulong vgapcilinear(VGAscr*, int*, int*, int, int); . 132a extern void blankscreen(int); . 125a extern int hwblank; /* use hw blanking; default on */ . 114a . 112a void (*blank)(VGAscr*, int); . 106a ulong *mmio; . ## diffname alphapc/screen.h 2000/0522 ## diff -e /n/emeliedump/2000/0407/sys/src/9/alphapc/screen.h /n/emeliedump/2000/0522/sys/src/9/alphapc/screen.h 142c extern ulong blanktime; . ## diffname alphapc/screen.h 2001/0727 ## diff -e /n/emeliedump/2000/0522/sys/src/9/alphapc/screen.h /n/emeliedump/2001/0727/sys/src/9/alphapc/screen.h 129a extern uchar* attachscreen(Rectangle*, ulong*, int*, int*, int*); . 9c extern void mousetrack(int, int, int, int); . ## diffname alphapc/screen.h 2001/1120 ## diff -e /n/emeliedump/2001/0727/sys/src/9/alphapc/screen.h /n/emeliedump/2001/1120/sys/src/9/alphapc/screen.h 125c extern void mousectl(Cmdbuf*); . ## diffname alphapc/screen.h 2001/1211 ## diff -e /n/emeliedump/2001/1120/sys/src/9/alphapc/screen.h /n/emeliedump/2001/1211/sys/src/9/alphapc/screen.h 142c extern int drawhasclients(void); . 128,130c extern int hwaccel; /* use hw acceleration; default on */ extern int hwblank; /* use hw blanking; default on */ extern void addvgaseg(char*, ulong, ulong); extern uchar* attachscreen(Rectangle*, ulong*, int*, int*, int*); . ## diffname alphapc/screen.h 2002/1205 ## diff -e /n/emeliedump/2001/1211/sys/src/9/alphapc/screen.h /n/emeliedump/2002/1205/sys/src/9/alphapc/screen.h 49a #define VGAMEM() PADDR(arch->pcimem(0xA0000, 1<<16)) . ## diffname alphapc/screen.h 2002/1214 ## diff -e /n/emeliedump/2002/1205/sys/src/9/alphapc/screen.h /n/emeliedump/2002/1214/sys/src/9/alphapc/screen.h 72a void (*flush)(VGAscr*, Rectangle); .