From a82b91cd4968d63c42aadef92929098706a82c3f Mon Sep 17 00:00:00 2001 From: Joseph Pranevich Date: Wed, 24 Feb 1999 10:58:37 +0000 Subject: [PATCH] Bugfixes for INT 10/0B (SetBackgroundColor) to work properly. (Interrupt list did not have correct.) --- msdos/int10.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/msdos/int10.c b/msdos/int10.c index aea978f28b..eee9e3f7d2 100644 --- a/msdos/int10.c +++ b/msdos/int10.c @@ -5,7 +5,6 @@ #include #include "miscemu.h" #include "vga.h" -/* #define DEBUG_INT */ #include "debug.h" #include "console.h" @@ -244,8 +243,19 @@ void WINAPI INT_Int10Handler( CONTEXT *context ) case 0x0b: switch BH_reg(context) { case 0x00: /* SET BACKGROUND/BORDER COLOR */ - /* In text modes, this sets only the border */ - TRACE(int10, "Set Background/Border Color - Ignored\n"); + /* In text modes, this sets only the border... */ + /* According to the interrupt list and one of my books. */ + /* Funny though that Beyond Zork seems to indicate that it + also sets up the default background attributes for clears + and scrolls... */ + /* Bear in mind here that we do not want to change, + apparantly, the foreground or attribute of the background + with this call, so we should check first to see what the + foreground already is... FIXME */ + TRACE(int10, "Set Background/Border Color: %d\n", + BL_reg(context)); + CONSOLE_SetBackgroundColor(color_pallet[0], + color_pallet[BL_reg(context)]); break; case 0x01: /* SET PALETTE */ FIXME(int10, "Set Palette - Not Supported\n"); -- 2.32.0.93.g670b81a890