summaryrefslogtreecommitdiff
path: root/hw/kdrive/vesa/vbe.h
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2000-09-03 05:11:46 +0000
committerKeith Packard <keithp@keithp.com>2000-09-03 05:11:46 +0000
commitc97fb611dd7dedef6d075ef9d56f3d32c8018d39 (patch)
tree92dbb45f2e31b7ab709255d2d07a606f466c1a38 /hw/kdrive/vesa/vbe.h
parent38059656849a5bab5b56b23359a90aca4ba396c7 (diff)
Rework vesa driver for shadowing and multiple screen support. Allow enable
to fail and avoid crashing
Diffstat (limited to 'hw/kdrive/vesa/vbe.h')
-rw-r--r--hw/kdrive/vesa/vbe.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/hw/kdrive/vesa/vbe.h b/hw/kdrive/vesa/vbe.h
index c8041fd2e..b76e99ee7 100644
--- a/hw/kdrive/vesa/vbe.h
+++ b/hw/kdrive/vesa/vbe.h
@@ -23,6 +23,10 @@ THE SOFTWARE.
#ifndef _VBE_H
#define _VBE_H
+#define VBE_WINDOW_RELOCATE 1
+#define VBE_WINDOW_READ 2
+#define VBE_WINDOW_WRITE 4
+
#ifndef U8
#define U8 unsigned char
#define U16 unsigned short
@@ -61,13 +65,16 @@ THE SOFTWARE.
typedef struct _VbeInfoRec {
int devmem, devzero;
- void *magicMem, *loMem, *hiMem, *fb;
- U32 fb_size;
+ void *magicMem, *loMem, *hiMem;
U32 brk;
struct vm86_struct vms;
U32 ret_code, stack_base, vib_base, vmib_base, statebuffer_base, palette_scratch_base;
U8 palette_format;
int palette_wait;
+ int windowA_offset;
+ int windowB_offset;
+ int last_window;
+ int vga_palette;
} VbeInfoRec, *VbeInfoPtr;
typedef struct _VbeInfoBlock {
@@ -143,15 +150,16 @@ VbeInfoPtr VbeSetup(void);
void VbeCleanup(VbeInfoPtr vi);
VbeInfoBlock *VbeGetInfo(VbeInfoPtr vi);
VbeModeInfoBlock *VbeGetModeInfo(VbeInfoPtr vi, int mode);
-int VbeSetMode(VbeInfoPtr vi, int mode);
+int VbeSetMode(VbeInfoPtr vi, int mode, int linear);
int VbeGetMode(VbeInfoPtr vi, int *mode);
int VbeSetupStateBuffer(VbeInfoPtr vi);
int VbeSaveState(VbeInfoPtr vi);
int VbeRestoreState(VbeInfoPtr vi);
-void *VbeMapFramebuffer(VbeInfoPtr vi);
-int VbeUnmapFrambuffer(VbeInfoPtr vi);
+void *VbeMapFramebuffer(VbeInfoPtr vi, VbeModeInfoBlock *vmib);
+int VbeUnmapFrambuffer(VbeInfoPtr vi, VbeModeInfoBlock *vmib, void *fb);
int VbeSetPalette(VbeInfoPtr vi, int first, int number, U8 *entries);
int VbeSetPaletteOptions(VbeInfoPtr vi, U8 bits, int wait);
+void *VbeSetWindow(VbeInfoPtr vi, int offset, int purpose, int *size_return);
int VbeReportInfo(VbeInfoPtr, VbeInfoBlock *);
int VbeReportModeInfo(VbeInfoPtr, U16 mode, VbeModeInfoBlock *);