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:
parent
827bb02217
commit
02579c09f2
3 changed files with 13 additions and 5 deletions
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue