From b191e859252c3c348da1d012bb594162a43f268c Mon Sep 17 00:00:00 2001 From: Sjoerd van der Berg Date: Wed, 3 Sep 2003 20:20:59 +0000 Subject: [PATCH] Add new call for vesa pmode interface Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1219 --- src/ints/int10.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/ints/int10.cpp b/src/ints/int10.cpp index c2dbb936..4a7d2db7 100644 --- a/src/ints/int10.cpp +++ b/src/ints/int10.cpp @@ -42,9 +42,10 @@ static Bitu INT10_Handler(void) { case 0x0e: case 0x10: case 0x4f: + break; default: - LOG(LOG_INT10,LOG_NORMAL)("Function AX:%04X , BX %04X",reg_ax,reg_bx); + LOG(LOG_INT10,LOG_NORMAL)("Function AX:%04X , BX %04X DX %04X",reg_ax,reg_bx,reg_dx); break; } #endif @@ -104,7 +105,7 @@ static Bitu INT10_Handler(void) { INT10_GetPixel(reg_cx,reg_dx,reg_bh,®_al); break; case 0x0E: /* Teletype OutPut */ - INT10_TeletypeOutput(reg_al,reg_bl,false,reg_bh); + INT10_TeletypeOutput(reg_al,reg_bl,false); break; case 0x0F: /* Get videomode */ reg_bh=real_readb(BIOSMEM_SEG,BIOSMEM_CURRENT_PAGE); @@ -174,6 +175,9 @@ static Bitu INT10_Handler(void) { case 0x12: INT10_LoadFont(Real2Phys(int10.rom.font_8_first),true,256,0,0,8); break; + case 0x03: /* Set Block Specifier */ + IO_Write(0x3c4,0x3);IO_Write(0x3c5,reg_bl); + break; /* Graphics mode calls */ case 0x20: /* Set User 8x8 Graphics characters */ RealSetVec(0x1f,RealMake(SegValue(es),reg_bp)); @@ -364,6 +368,13 @@ graphics_chars: reg_ah=0x01; } break; + case 0x0a: /* Get Pmode Inteface */ + reg_edi=RealOff(int10.rom.pmode_interface); + SegSet16(es,RealSeg(int10.rom.pmode_interface)); + reg_cx=int10.rom.pmode_interface_size; + reg_ax=0x004f; + break; + default: LOG(LOG_INT10,LOG_ERROR)("Unhandled VESA Function %X",reg_al); reg_al=0x0;