--- uae/src/od-dos/video/vbe.c 2018/04/24 16:40:30 1.1.1.1 +++ uae/src/od-dos/video/vbe.c 2018/04/24 16:44:02 1.1.1.2 @@ -793,13 +793,12 @@ void InsertMode(T_ModeInfo *ModeInfo, T_ NumberOfModes++; } -int SetMode(int ModeNumber, int Linear) { +int SetMode(int ModeNumber, int Linear, int Debug) { _go32_dpmi_registers IntRegs; - static int FirstTime = 1; switch(InternalModeList[ModeNumber].ControlType) { case TVBE: - if (FirstTime) printf ("Using VESA BIOS.\n"); + if (Debug) printf ("Using VESA BIOS.\n"); IntRegs.x.ax = 0x4F02; if (ModeList[ModeNumber].ModeType == T16) { if (Linear) @@ -818,13 +817,13 @@ int SetMode(int ModeNumber, int Linear) return(0); IntRegs.x.bx = InternalModeList[ModeNumber].OriginalModeNumber; if (HasProtectedModeInterface) { - if (FirstTime) printf ("Using Protected Mode Bank Switch Function.\n"); + if (Debug) printf ("Using Protected Mode Bank Switch Function.\n"); ModeList[ModeNumber].ChangeBank = VBE_ChangeBankProtectMode; } else if ((InternalModeList[ModeNumber].WinFuncPtrSegment != 0) && (InternalModeList[ModeNumber].WinFuncPtrOffset != 0)) { - if (FirstTime) printf ("Using Real Mode Bank Switch Function.\n"); + if (Debug) printf ("Using Real Mode Bank Switch Function.\n"); ModeList[ModeNumber].ChangeBank = VBE_ChangeBankRealMode; } else { - if (FirstTime) printf ("Using Real Mode Bank Switch Interrupt Function.\n"); + if (Debug) printf ("Using Real Mode Bank Switch Interrupt Function.\n"); ModeList[ModeNumber].ChangeBank = VBE_ChangeBankRealInterrupt; } ModeList[ModeNumber].PutLine = PutLineBanked; @@ -833,7 +832,7 @@ int SetMode(int ModeNumber, int Linear) _go32_dpmi_simulate_int(0x10, &IntRegs); break; case TVGA: - if (FirstTime) printf ("Using normal VGA.\n"); + if (Debug) printf ("Using normal VGA.\n"); IntRegs.h.ah = 0x00; IntRegs.h.al = InternalModeList[ModeNumber].OriginalModeNumber; IntRegs.x.ss = IntRegs.x.sp = IntRegs.x.flags = 0; @@ -845,7 +844,7 @@ int SetMode(int ModeNumber, int Linear) ModeList[ModeNumber].PutLine = PutLineLinear; break; case TModeX: - if (FirstTime) printf ("Using VGA Mode X.\n"); + if (Debug) printf ("Using VGA Mode X.\n"); SetModeX(InternalModeList[ModeNumber].OriginalModeNumber); ModeList[ModeNumber].ChangeBank = NULL_ChangeBank; ModeList[ModeNumber].PutLine = PutLineVGAX; @@ -854,7 +853,6 @@ int SetMode(int ModeNumber, int Linear) CurrentMode = ModeList[ModeNumber]; CurrentInternalMode = InternalModeList[ModeNumber]; RestoreOldVGAMode = 1; - FirstTime = 0; MapVideoMemory(); return(1); }