dosmem

Nog Nog at sdf.lonestar.org
Thu Oct 4 14:05:11 CDT 2001


Nog wrote:

> In my quest to get helppc running and working in wine, I noticed that it
> tries to access the text mode buffer directly (b000, I think). This
> memory doesn't seem to be emulated in dosmem.c and my exploration into
> how to implement it were in vein. Could anybody please help?
>
> Anyway on another note, to get the program to exectute this far I had to
> add a hack to vga.c. What the program was doing, was, it waited until
> the light pen trigger was set, when it read the light pen trigger set
>

Err, I mean light pen enable...

> (bit 1) from the vga status register (3da) and then it would wait until
>

and its actually bit 2...

> it was unset again. I've attached a patch to solve this problem, but its
> definatly not the right way of doing it, anyway see what you think.
>
>   ------------------------------------------------------------------------
> Index: vga.c
> ===================================================================
> RCS file: /home/wine/wine/msdos/vga.c,v
> retrieving revision 1.7
> diff -u -r1.7 vga.c
> --- vga.c       2001/06/19 18:14:08     1.7
> +++ vga.c       2001/10/04 17:54:02
> @@ -31,6 +31,8 @@
>  typedef HWND WINAPI (*CreateWindowExAProc)(DWORD,LPCSTR,LPCSTR,DWORD,INT,INT, INT,INT,HWND,HMENU,HINSTANCE,LPVOID);
>  static CreateWindowExAProc pCreateWindowExA;
>
> +int pentrigger = 0;
> +
>  static void VGA_DeinstallTimer(void)
>  {
>      if (poll_timer) {
> @@ -333,6 +335,15 @@
>                 we need to fake the occurrence of the vertical refresh */
>              ret=vga_refresh?0x00:0x08;
>              vga_refresh=0;
> +
> +            /* The light pen trigger is a bit tricky, programs want it set first
> +               and then they wait until its unset agian */
> +            if(pentrigger == 1) {
> +                pentrigger = 0;
> +                ret += 0x5;
> +            }
> +            else
> +                pentrigger = 1;
>              break;
>          default:
>              ret=0xff;





More information about the wine-devel mailing list