1
0
Fork 0

save vesa modes' upper 24-30 bits for later get vesa mode

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3091
This commit is contained in:
Sebastian Strohhäcker 2008-02-03 12:19:35 +00:00
parent 827bb02217
commit 02579c09f2
3 changed files with 13 additions and 5 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (C) 2002-2007 The DOSBox Team
* Copyright (C) 2002-2008 The DOSBox Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -16,6 +16,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/* $Id: int10.h,v 1.33 2008-02-03 12:19:35 c2woody Exp $ */
#include "vga.h"
#define S3_LFB_BASE 0xC0000000
@ -135,6 +137,7 @@ typedef struct {
Bit16u pmode_interface_palette;
Bitu used;
} rom;
Bitu vesa_setmode;
} Int10Data;
extern Int10Data int10;

View file

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/* $Id: int10_modes.cpp,v 1.75 2008-01-12 17:37:48 c2woody Exp $ */
/* $Id: int10_modes.cpp,v 1.76 2008-02-03 12:19:35 c2woody Exp $ */
#include <string.h>
@ -579,6 +579,7 @@ bool INT10_SetVideoMode(Bitu mode) {
clearmem=false;
mode-=0x80;
}
int10.vesa_setmode=0xffff;
LOG(LOG_INT10,LOG_NORMAL)("Set Video Mode %X",mode);
if (!IS_EGAVGA_ARCH) return INT10_SetVideoMode_OTHER(mode,clearmem);
Bit8u modeset_ctl,video_ctl,vga_switches;

View file

@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/* $Id: int10_vesa.cpp,v 1.32 2008-01-15 17:46:25 c2woody Exp $ */
/* $Id: int10_vesa.cpp,v 1.33 2008-02-03 12:19:35 c2woody Exp $ */
#include <string.h>
#include <stddef.h>
@ -266,12 +266,16 @@ foundit:
Bit8u VESA_SetSVGAMode(Bit16u mode) {
if (INT10_SetVideoMode(mode)) return 0x00;
if (INT10_SetVideoMode(mode)) {
int10.vesa_setmode=mode&0x7fff;
return 0x00;
}
return 0x01;
};
Bit8u VESA_GetSVGAMode(Bit16u & mode) {
mode=(Bit16u)(CurMode->mode);
if (int10.vesa_setmode!=0xffff) mode=int10.vesa_setmode;
else mode=(Bit16u)(CurMode->mode);
return 0x00;
}