Re: Wine Weekly News #50 (2000 Week 27)

2000-07-07 Thread David Elliott

Eric Pouech wrote:


Ove Kåven turned out to be the most interested in David's proposal and
proposed also to share on going work he had made on re-enabling the
DOS support in Wine (which has been disabled temporary by address
space separation).

David appreciated the help and asked to be able to get a look at the
patch before it goes into CVS. Some other people asked how this
evolution shall take place (since it may remove lots of 16 bit and DOS
code out of the core/monolithic part of Wine, this must be handled
with care). David proposed a step by step mechanism:

Speaking of which Ove, how is the DOS restructure coming along anyway??

-Dave




Re: wine-patches problem

2000-07-07 Thread Uwe Bonnes

David Elliott writes:
 Jeff Tranter wrote:
 
 
  Yes, CorelDRAW and PHOTO-PAINT are now released. It's
  not our only task, but we will be working on a merge
  of our code with WineHQ. We're starting to plan it
  now and expect to start in a week or two (a lot of
  people are on vacation right now).
 
 And a well-deserved vacation IMHO!
 

This vacation would also coincide with the vacation ( and conference
tour) of Alexandre. Don't expect changes applied to the Wine-CVS tree
for some time...

Bye

Uwe Bonnes[EMAIL PROTECTED]

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
- Tel. 06151 162516  Fax. 06151 164321 --




Re: Wine Weekly News #50 (2000 Week 27)

2000-07-07 Thread Ove Kaaven


On Fri, 7 Jul 2000, David Elliott wrote:

 Speaking of which Ove, how is the DOS restructure coming along anyway??

I'm not working on it, and haven't been for quite some time, not after I
got it back into sort-of working state. It's just that my time is limited
and extracting diffs of all the little things I did is tedious work... but
I could make a major cvs diff and post the whole lot without bothering to
split the megapatch into pieces (which I've suggested before, but with no
unambiguous response on where to send it). Perhaps I'll try this weekend?




Re: Wine Weekly News #50 (2000 Week 27)

2000-07-07 Thread David Elliott

Ove Kaaven wrote:

 On Fri, 7 Jul 2000, David Elliott wrote:

  Speaking of which Ove, how is the DOS restructure coming along anyway??

 I'm not working on it, and haven't been for quite some time, not after I
 got it back into sort-of working state. It's just that my time is limited
 and extracting diffs of all the little things I did is tedious work... but
 I could make a major cvs diff and post the whole lot without bothering to
 split the megapatch into pieces (which I've suggested before, but with no
 unambiguous response on where to send it). Perhaps I'll try this weekend?

Hey dude.. no problem.  I think almost everyone here doesn't exaclty have
loads of time to screw with Wine (including myself).

I tell you what though, if you just wanna cvs diff your stuff and send it
over as one huge thing, I'd still like to see it, and I might throw some of
my own stuff in there and then split it up and do small patches (the tedious
work that no one really wants to ever do, but it always has to be done).  The
work I want to do is slightly hindered by the fact that DOS doesn't work at
all right now.  I did at least get basic working versions of a few functions
(the memory related stuff) done.

You can either send it to my normal e-mail, [EMAIL PROTECTED], or
[EMAIL PROTECTED], it all goes into my mail queue just the same.

-Dave
"It's 4:20, do you know where YOUR kids are at?"




RE: wine-patches problem

2000-07-07 Thread Wilbur N. Dale

On Fri, 07 Jul 2000, Francois Gouget wrote:
[snip] Lots of stuff about files sizes.

 Even if the binaries are provided on a web/ftp site someone will
 have to download them and 2MB seems like a lot. For one Dll and an
 executable I would expect something like 30-50KB at most. How come
 they're so big?  Can we trim them down? 
 
  * you didn't include the debug information, right? (I have to ask
 because it's so big)
  * is it compiled in release mode?
  * is it the size optimization turned on?
  * not linking statically with anything
  * for the program we can also use a trick to remove most of overhead
 imposed by the default WinMainCRTStartup function (using this trick I
 decreased the size of an antorun program from 23KB to just 2560 bytes) 

Give the man a cigar (or is a bottle of wine more appropriate on this list?) for
asking the right questions. While trying to answer them I found I had included
more binary files than I should have. The 2 Meg file size I originally gave is
incorrect.

The (correct) uncompressed files sizes in bytes are

1. 1360036 in ascii files.
2.  360228 in *.[ch] files (these files also included in 1 above).
3.   12800 in winemain.exe (my windows executable)
412288 in winedll.dll (my windows dll)

The difference in the file sizes in 1 and 2 are the scripts used by configure
and libtool. Both 3 and 4 are Debug builds, so it is possible to reduce them
more. Nothing is statically linked.

 If none of the above helps then maybe we should try to find ways to
 modify the example to make it smaller while remaining meaningful: 
 
  * not using/not linking with the MFC (I don't know if you do)
  * not calling any C library function (especially if linked statically)
  * a text only example? But I'm not sure we would save that much.

The example is a replacement for EdrTest in Petzold and is of about the same
complexity. There is no MFC (I have started on that yet). There are a couple of
functions in the dll and a couple of functions in the exe and it draws a
window. 

 --
 Francois Gouget [EMAIL PROTECTED]http://fgouget.free.fr/
  Avoid the Gates of Hell - use Linux.
-- 
Wilbur Dale
Lumin Software BV
Zandheuvel 52 B
4901 HW Oosterhout (NB)
The Netherlands

phone: +31-(0)162-47.88.42
fax:   +31-(0)162-43.31.52




Re: typelib

2000-07-07 Thread Francois Jacques

Juergen Schmied wrote:

What I would suggest is a merge between your new implementation and Rein
Klases' original code. The code could go like this...
   I removed this code because when starting hh.exe it finds something what
   is not a typelib and crashes. We would need a more safe way here...
 
  See also the documentation for load typelib:
 
  - first it is tried if the file is a stand-alone typelib
  - if that fails, then if it is a executable load the typelib from
  resource
  - if that fails parse the file into a moniker.
 Sounds good let's impement like this. Should I go for if?

 MapFile
  if(Signature = MSFT)
  ReadTypelib(BaseAdress)
 Unmap

 else if(Signature = MZ)
  LoadLibrary()
  GetResource()
  ReadTypelib(ResourceAdress)
 else
   FIXME: case3

 juergen


That sounds good to me!




Re: typelib

2000-07-07 Thread Francois Jacques

Rein Klazes wrote:

 On Thu, 6 Jul 2000 20:31:13 +0200, you wrote:

  Sounds good let's impement like this. Should I go for if?

 If I understand correctly, Francois Jacques has been assigned to fix
 this and others issues with regard to ole automation.


True. But if Juergen feels like implementing it, I don't see any
problem! This way I could concentrate my efforts on a few other issues.

Cheers,
Francois





Re: ASPI under Wine --- can't see devices

2000-07-07 Thread David Elliott

Well, one obvious thing would be you do have permissions for the device, right?

I doubt it could be that simple though.  I kind of figured this was going to happen 
sometime, as I still havent' been able to get
Adaptec Easy CD Creator working either.  Like your program, I think it may not like 
the output from SC_HA_INQUIRY.

Fortunately, that means I have a program exhibiting similar behavior so I at least 
have a decent test case.  I'll start debugging
this problem this weekend and see if I can come up with a solution.

For one thing, last time I checked, the DLLs LibMain was not being called correctly by 
Wine (I think this is a known problem in
Wine).  Although for right now the only side effect of that is that I can't free up 
everything when the DLL is unloaded because
I don't even know when the DLL is unloaded (and half the time it somehow manages to 
unload the DLL more times than loading it).

There are only 4 functions for WNASPI32.  GetASPI32SupportInfo, SendASPI32Command, 
GetASPI32DLLVersion, and an ordinal only export
7.  I have no idea what ordinal 7 is supposed to do, but maybe it has something to do 
with these problems.

The GetASPI32DLLVersion always returns 1 (which should be according to spec, and I 
think is also what the real
WNASPI32.DLL returns).

The GetASPI32SupportInfo Function returns 1 controller present and SS_COMP which is 
not really correct, but should be fine for
your situation.

All that's left really is SendASPI32Command which has several cases, each of which 
either prints a TRACE or FIXME.

I'll try adding some traces to the GetASPI32DLLVersion and GetASPI32SupportInfo 
functions and see what I come up with.  Also, one
major problem is that the way WNASPI32 is implemented, all commands complete before 
returning, which is not supposed to happen,
but it seems to work for most stuff.

Anyway, those are just some ideas I am throwing out if you would like to pursue the 
problem a little further.

Have a good day,
-Dave

P.S. Thanks for the good debug info. (which I snipped in this reply)




Re: PE loader issue

2000-07-07 Thread Eric Pouech

as I tested the Windows (98) behaior, here are the results:
 LOAD_LIBRARY_AS_DATAFILE will not really go through the PE-loader. It
 just maps the entire file somewhere into memory. It doesn't even take a
 look at the file-alignment (afaik), but simply does mmap(file,
 somewhere, filesize). 
no ref count is used. calling twie LoadLibraryEx with 
LOAD_LIBRARY_AS_DATAFILE yields two different handles. Another interesting
point: handles gotten from LOAD_LIBRARY_AS_DATAFILE are odd numbers (regular
flags give an even number, which is the base address (documented as a non 
portable feature). Windows shall use the lower bit of the handle to know
which type of mapping has been used. A handle gotten from 
LOAD_LIBRARY_AS_DATAFILE yields to an error when trying to get the name
with GetModuleFileName

 OTOH, DONT_RESOLVE_DLL_REFS does everything
 the normal PE-loader does, except PE-linking (doesn't resolve imports).
 
 Loading as datafile is a bit problematic with builtin dlls, as we do not
 have properly delimited sections that can be mapped as data (would
 require quite a bit of ELF hacking).
 
 A not-resolved-dll can be integrated into the dependency list of dlls if
 it is loaded once again with LoadLibrary and the proper flags (without
 it's load-address changing). However, I do not know what windows does in
 this case.
a non resolved DLL (loaded with DONT_RESOLVE_DLL_REFS) can be resolved
with calling LoadLibraryEx("dllname", 0, 0);

the virtual region mapped with the different flags are :
- LOAD_LIBRARY_AS_DATAFILE: size of the file (didn't check the alignment of
sections), but whole file gets mapped
- DONT_RESOLVE_DLL_REFS, 0: a single page is mapped at base address (which
means the DLL is mapped section by section)

as a conclusion, I think we can safely base Wine's design on :
- LOAD_LIBRARY_AS_DATAFILE doesn't insert the mapped file into the dependency
list, but simply mapped into memory (which means cases for odd handles passed
to some resource functions shall be added)
- non resolved DLLs can become resolved when reloaded with the proper flags

however, implementing the first item can be costly (it means accessing
the data resources from a DLL directly mapped into memory), so I'd rather suggest
to still insert the datafile DLLs into the dependency list and properly handle
the DATAFILE case

comments are welcome

-- 
---
Eric Pouech (http://perso.wanadoo.fr/eric.pouech/)
"The future will be better tomorrow", Vice President Dan Quayle




Adding a memory zone

2000-07-07 Thread Lionel Ulmer

Hi all,

I wanted to try again to make Thief working in Wine. If anyone
remembers, the developpers are using the EGA screen memory to display
some debug informations : Wine crashes accessing the address 0xB.
Last time I tried Thief, I added a FILE_dommap at this address to
prevent the crash just after the DLL initialization in miscemu/main.c

But now, with ASS, where should I put this call that should be done
for each process ?

-- 
   Lionel Ulmer   -   [EMAIL PROTECTED]
My Advogato Wine diary : http://www.advogato.org/person/bbrox/




Re: Wine jobs

2000-07-07 Thread Douglas Ridgway



On Wed, 5 Jul 2000, Jeremy White wrote:

  Or, if you're interested in hiring, feel free to drop me a line. I'll try
  to put you in touch with people who might be appropriate.
 
 Doug, would it be possible to formalize this process on winehq,
 perhaps with
 a mailing list or an official place for such requests?  

A couple of people have suggested this. However, employment ads are
particularly volatile pieces of information, and they are useless if
stale, so you have to make sure that they are up to date. The big jobs
sites do this, along with providing good search capabilities. 

Given the current size of the industry, it's probably fine for job ads
to just get posted to wine-devel. If the noise gets too high, that will
have to change, but this isn't a danger just yet.

doug.
[EMAIL PROTECTED]





RE: wine-patches problem

2000-07-07 Thread Francois Gouget

On Thu, 6 Jul 2000, Wilbur N. Dale wrote:

 On Wed, 05 Jul 2000, Christopher Morgan wrote:
  How big would the binaries for the programs be?  I heard some mention of
  2MB binaries, which is an expected size for a windows application,
  nothing out of the ordinary these days, but would that be 10-15 2MB
  files?  Adding 10MB to the cvs tree probably wouldn't be all that bad
  considering the initial download would be the only time people would
  notice, but I suppose the question is exactly how much would be added to
  the tree if the binaries were included.  
  
  
  Chris Morgan
 
 The compressed tar file was 2 Meg. The tar file contained all of my source 
 and the binaries for one dll and for one exe program. 


I know this has already been discussed a lot but I would like to
look at it from a different perspective. I would not be absolutely
opposed to putting a binary file in the Wine source (that's for
Alexandre Julliard to decide anyway) but what 'shocks' me is that the
tar.gz file is 2MB big. Is there additional files not in the current
patch that you plan to add? 

Just for reference the tar.gz of the latest Wine sources
(Wine-2614.tar.gz) is just under 5MB (4986KB). So including your
patch would represent close to a 40% increase! 

Even if the binaries are provided on a web/ftp site someone will
have to download them and 2MB seems like a lot. For one Dll and an
executable I would expect something like 30-50KB at most. How come
they're so big?  Can we trim them down? 

 * you didn't include the debug information, right? (I have to ask
because it's so big)
 * is it compiled in release mode?
 * is it the size optimization turned on?
 * not linking statically with anything
 * for the program we can also use a trick to remove most of overhead
imposed by the default WinMainCRTStartup function (using this trick I
decreased the size of an antorun program from 23KB to just 2560 bytes) 


If none of the above helps then maybe we should try to find ways to
modify the example to make it smaller while remaining meaningful: 

 * not using/not linking with the MFC (I don't know if you do)
 * not calling any C library function (especially if linked statically)
 * a text only example? But I'm not sure we would save that much.



--
Francois Gouget [EMAIL PROTECTED]http://fgouget.free.fr/
 Avoid the Gates of Hell - use Linux.