changeset 2410:27ca5ad3c7e9

Title support
author nick
date Tue, 23 Oct 2001 09:31:53 +0000
parents 25f6a4335abb
children 70daede73cd9
files libvo/vo_vesa.c linux/vbelib.c linux/vbelib.h
diffstat 3 files changed, 27 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/vo_vesa.c	Tue Oct 23 08:55:47 2001 +0000
+++ b/libvo/vo_vesa.c	Tue Oct 23 09:31:53 2001 +0000
@@ -648,6 +648,7 @@
 				}
 			}
 	}
+	vbeWriteString(0,0,7,title);
 	return 0;
 }
 
--- a/linux/vbelib.c	Tue Oct 23 08:55:47 2001 +0000
+++ b/linux/vbelib.c	Tue Oct 23 09:31:53 2001 +0000
@@ -386,3 +386,25 @@
   }
   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
--- a/linux/vbelib.h	Tue Oct 23 08:55:47 2001 +0000
+++ b/linux/vbelib.h	Tue Oct 23 09:31:53 2001 +0000
@@ -220,4 +220,8 @@
    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