From 81751cdcafd6acc906057a403c0ca0be1e5a09cf Mon Sep 17 00:00:00 2001 From: nick Date: Tue, 23 Oct 2001 09:31:53 +0000 Subject: Title support git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2411 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/vo_vesa.c | 1 + linux/vbelib.c | 22 ++++++++++++++++++++++ linux/vbelib.h | 4 ++++ 3 files changed, 27 insertions(+) diff --git a/libvo/vo_vesa.c b/libvo/vo_vesa.c index d1b531411f..0bdbf0314c 100644 --- a/libvo/vo_vesa.c +++ b/libvo/vo_vesa.c @@ -648,6 +648,7 @@ init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint3 } } } + vbeWriteString(0,0,7,title); return 0; } diff --git a/linux/vbelib.c b/linux/vbelib.c index a1bedeaac2..8a3ace1291 100644 --- a/linux/vbelib.c +++ b/linux/vbelib.c @@ -386,3 +386,25 @@ int vbeGetProtModeInfo(struct VesaProtModeInterface *pm_info) } return retval; } +/* --------- Standard VGA stuff -------------- */ +int vbeWriteString(int x, int y, int attr, char *str) +{ + struct LRMI_regs r; + void *rm_space = NULL; + int retval; + memset(&r,0,sizeof(struct LRMI_regs)); + r.ecx = strlen(str); + r.edx = ((y<<8)&0xff00)|(x&0xff); + r.ebx = attr; + if(!(rm_space = LRMI_alloc_real(r.ecx))) return VBE_OUT_OF_DOS_MEM; + r.es = VirtToPhysSeg(rm_space); + r.ebp = VirtToPhysOff(rm_space); + memcpy(rm_space,str,r.ecx); + r.eax = 0x1300; + retval = VBE_LRMI_int(0x10,&r); + if(rm_space) LRMI_free_real(rm_space); + if(!retval) return VBE_VM86_FAIL; + retval = r.eax & 0xffff; + if(retval == 0x4f) retval = VBE_OK; + return retval; +} \ No newline at end of file diff --git a/linux/vbelib.h b/linux/vbelib.h index 3ff95c971d..24eee8e4a9 100644 --- a/linux/vbelib.h +++ b/linux/vbelib.h @@ -220,4 +220,8 @@ extern int vbeSetWindow(unsigned win_num,unsigned win_gran); Support of palette currently is not implemented. */ extern int vbeGetProtModeInfo(struct VesaProtModeInterface *); + +/* Standard VGA stuff */ +int vbeWriteString(int x, int y, int attr, char *str); + #endif \ No newline at end of file -- cgit v1.2.3