www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/01/19/03:57:47

Date: Mon, 18 Jan 93 19:23:43 PDT
From: Peter Crowley <pcrowley AT qdeck DOT com>
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: DESQview shadow buffer

>In the process of porting pdcurses 2.0 to work under go32, I found
>that int 0x10, fn 0xfe (return shadow buffer address) doesn't seem
>to work in the sense that the DV shadow buffer isn't returned when
>run in a DV 2.42 window without either screen virtualisation or
>direct writes enabled.

>Is this simply 'unimplemented', or am I doing something wrong? As
>I understand it, the DV shadow buffer should be in the 1st meg for
>that VM, so the usual MK_FP() style macro using the correct base
>address for GO32 should be able to address it, avoiding the necessity
>of having to write directly to video RAM.

>I guess it's not entirely necessary since virtualisation always
>works in DV/386 because of the '3' in '386'. :-) But performance
>is always better and output smoother in a window where screen
>virtualisation is set to "N".

>If it's relevent, I'm using int86x() to call int 0x10 in this case.

In go32 int 0x10 is intercepted and function 0xfe is passed to a
graphics_inquiry() function, which sets ebx,ecx and edx.  DV never gets
involved. If you have the facility to rebuild go32 you could try adding a
reference to generic_handler() in the function graphics_inquiry() in the file
'graphics.c' i.e.:

void graphics_inquiry(void)
{
#if !DEBUGGER
  if(!gr_driver) init_graphics_driver();
#endif
  generic_handler(); /* right here */
  tss_ptr->tss_ebx = gr_driver->old.driver_flags;
  if(new_driver) {
    word32 base = 0xe0000000L + ((word32)gr_paging_segment << 4);
    tss_ptr->tss_ecx = base + gr_driver->new.text_table;
    tss_ptr->tss_edx = base + gr_driver->new.graphics_table;
  }
  else {
    tss_ptr->tss_ecx = 0L;
    tss_ptr->tss_edx = 0L;
  }
}


Peter Crowley
Quarterdeck Offices Systems


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019