Re: When will Wine integrate an x86 CPU emulator?

2003-08-22 Thread Jim White
Lionel Ulmer wrote:
Anyhow, I realize that the Wine-devel list isn't the most hospitable 
place for these sorts of ideas.  That's why I set up 
http://darwine.sf.net.
Well, I looked at the site and did not see much there... Is there any design
diocuments / roadmaps on how you plan to go forward that we could read so as
to know how you plan to actually tackle the issues raised by all the people here ?
... 
The most useful part of the web site is the email list archive:

http://sourceforge.net/mailarchive/forum.php?forum_id=26200

As you note, the substantive work to date has been that Pierre has made 
progress (to the point of running WinMine) in porting Winelib to OS X.

My personal roadmap for Darwine-related activity is to try out the 
Winelib stuff myself and make a suitable Freshmeat announcement. 
Updating the web site a bit with some current status and some of this 
discussion is also a to do.

I don't expect to be a development leader for any of this Wine-related 
stuff as I don't have much interest in running or porting Windows 
applications.  I certainly have no interest in debating anybody on what 
or how to do anything.  I do like communicating with others with whom I 
have a common interest.

The most interesting activity on Wine with x86 emulation is QEMU.  If 
that had existed last year then there wouldn't have been a Darwine. 
QEMU now has a mailing list:

http://mail.gnu.org/archive/html/qemu-devel/

Jim
--
I love deadlines. I love the whooshing sound they make as they fly by. 
-- Douglas Adams




Re: When will Wine integrate an x86 CPU emulator?

2003-08-21 Thread Jim White
Francois Gouget wrote:
On Wed, 20 Aug 2003, Ulrich Weigand wrote:
[...]
The only reason for wanting to integrate an emulator into Wine is that this
would allow to run the Wine components natively, and only switch to the
emulator for executing Windows binaries.
[...]

Not only it would be extremely complex but I am not even sure it would
be more efficient.
...
How does that apply to the emulator case? Well, let's take InflateRect:
... 
I don't understand why you put effort into shooting down strawmen.  If 
you are not interested in a version of Wine incorporating an x86 
emulator then that's just dandy.

The point of integrating the x86 emulation is not necessarily to get 
into the interface between Wine and the Windows applications.  The point 
is to avoid a whole layer of OS emulation.  I have no problem even with 
the idea that some of Wine's code remains x86 in order to avoid 
switching modes excessively.

Consider Mac OS X.  Using Wine for x86/Linux means running a second OS 
under emulation and an attendant extra file/device mapping layer.  Also 
while it is obvious that an intermediate stage will be to use X, a 
futher improvement could be to use the native toolkit.

And especially attractive from the x86 emulator's standpoint is the 
ability to identify read-only code resources with defined entry points 
that can be JIT compiled to native code rather than simply interpreting. 
 The opportunities for doing that at the machine level for hosting an 
OS are much more limited.

So while integrating x86 emulation with Wine certainly adds another 
whole set of complexity, the performance gains are easily attained 
because of the reduction in emulation layers which can readily run into 
order-of-magnitude performance penalities in all kinds of places as you 
illustrated.

Anyhow, I realize that the Wine-devel list isn't the most hospitable 
place for these sorts of ideas.  That's why I set up 
http://darwine.sf.net.

And there is no conflict here.  Wine has more than a big enough chunk of 
work carved out for itself, and it is it's sucess there that brings the 
attention from other perspectives with interests in leveraging that 
value into other areas.  We have a strong common interest in free and 
open software.  Otherwise we'ld just buy Windows (and for Mac OS X, 
Virtual PC).

Jim
--
I love deadlines. I love the whooshing sound they make as they fly by. 
-- Douglas Adams




Re: When will Wine integrate an x86 CPU emulator?

2003-08-20 Thread Jim White
Kelly Leahy wrote:
Not sure I agree with paragraph two of the answer...
... 
I don't care for the answer much myself.  Certainly never is not 
reasonable as Wine for non-x86 systems is desireable and eventually 
enough effort will be expended to get the job done.  Now the time frame 
might be rather long, and for many folks the answer to When will Wine 
be finished? is effectively never because it is more than a year and 
the integrated emulation business is well beyond that.

It would be nice to mention Darwine in connection with these 
Wine-for-other-systems FAQs as progress has been demonstrated with 
Winelib for Mac OS X and the stated goal is an eventual integrated x86 
emulator.

http://darwine.sourceforge.net/

That said, I do agree that before the integrated solution appears we 
will see Wine running on emulated X86/Linux.  I'm particularly 
interested in seeing Linux on Darwin's Mach kernel which should benefit 
from the prior work of MkLinux.

Jim
--
I love deadlines. I love the whooshing sound they make as they fly by. 
-- Douglas Adams




Re: Mac OS X/Darwin port of Wine

2003-01-08 Thread Jim White
Mike Hearn wrote:

I'm suggesting you use it as a place to start the port. If you decide
to make things hard for yourself due to some bizarre hatred of desktop
Linux, then you're just increasing the amount of work you'd need to do.

You don't even have to dual boot or anything, just stick it on an old PC
and ssh into it if you absolutely must have glowing buttons.


Old PC?  All my old PCs have X86 processors and they're running Linux. 
Are you saying there are sources of extremely cheap PPC motherboards to 
stick in a PC chasis?

(I don't think anybody has attempted Bochs integration before), it makes
sense to get it out the way. But - if you want to leave it until later, 
you do it how you think is best.

Bochs has full support for Mac OS X including a .dmg binary on their 
download page, so the port for that package is done already by the Bochs 
team.  The tricky bit will be going from Bochs virtual machine approach 
to an in-process extension sort of deal.

Mac OS X  has had lots of attention from folks doing source level 
porting, notably the Fink group which has a Debian-based apt-get for a 
large number of the most used package.  Even OpenOffice can launch and 
do a few things.

But as I've said, I'm not really keen on making large changes in two 
directions at once.  Hopefully some more folks with ideas and skills 
will get interested in Wine for Mac OS X.

I think I will investigate the Linux compatible angle for a bit.  I've 
already had some interest from some hard core Linux kernel hackers 
(although they seem pretty convinced Mach was the wrong solution, it is 
here to stay and at least the microkernel approach means we can neatly 
have multiple environments).

Jim




Re: Mac OS X/Darwin port of Wine

2003-01-07 Thread Jim White
Mike Hearn wrote:

Do you have any references for those statistics?


The figures came from this:
...


You're mixing installed base numbers with new shipments (market share).

Worthwile to note in this vein is Apple released their version of the 
XFree86 X11 server (rootless for Aqua) beta for Jaguar today.  It 
includes direct GL support under 10.2.3.  So while Apple's official 
position remains that Aqua is the right GUI, they're gonna have top 
notch X11 support too.

I'm quite unlikely to set up a Linux/PPC box myself, although I am 
*very* interested in hearing from folks working on Wine for *any* PPC 
OS.

Hmm, is there any reason for that? Linux/PPC would seem the logical
place to start...


Yes, of course there are reasons.  If I wanted to use Linux for my 
desktop I would do so.   I find Mac OS X to be the best desktop OS in 
the world.  I do run Linux servers and find that an excellent way to put 
cheap x86 hardware to good use.

I have been interested in ways to have Linux compatibility on Mac OS X 
(it is a microkernel system after all), so I will spend a little time 
investigating that.

For Linux binary support you'd have to do a FreeBSD style ABI export.


I'm thinking in terms of updating the MkLinux (Apple/OSF) port to the 
Darwin Mach kernel.  Seems like there should be a way to do that as an 
addition to the Darwin OS and not run a separate system.  What I'ld 
really like to see is Red Hat binary compatibility (the duplication 
necessary in source porting is largely a wasted in my view).  The next 
logical step being an X86 personality too.

Jim




Re: Mac OS X/Darwin port of Wine

2003-01-06 Thread Jim White
Mike Hearn wrote:

Supposedly Mac OS X already has the largest installed base of
any single *nix distribution...

Actually, according to figures from Apple and IDC (guess which is more
neutral) desktop Linux has at least double and possibly quadruple the
installed userbase of MacOS X. I have pointed this out several times
when people make statements such as that, and have yet to be refuted,
...


Do you have any references for those statistics?  The thing that IDC 
just said is that they expect new Linux desktop shipments to pass new 
Mac OS X shipments within the next year or two.  Even if that comes to 
pass (which I very much doubt), that doesn't directly address the 
installed base size.

http://www.macobserver.com/columns/thebackpage/2003/20030103.shtml

As CPU emulation would be one
of the trickier parts, I'd definately go with the advice to start by
making x86 binaries work on Linux/PPC, as that keeps the number of
things that could interfere to a minimum.


I'm reconsidering how to get started now.  I spent a fair bit of the 
weekend trying to get Darwin/X86 running and it doesn't look promising. 
 Not only do I need to get a different motherboard but it sounds like 
there are siginificant issues with bugs and performance.

I'm quite unlikely to set up a Linux/PPC box myself, although I am 
*very* interested in hearing from folks working on Wine for *any* PPC 
OS.  And this does seem like a promising area for Linux/PPC folk as I'm 
sure there would a fair bit of interest in being able to run Linux/X86 
binaries (which would be cool with miscellaneous binary support).

I have been interested in ways to have Linux compatibility on Mac OS X 
(it is a microkernel system after all), so I will spend a little time 
investigating that.  But now (unless Darwin/X86 things improve quickly, 
which I doubt) the most likely way forward for me will be to tackle the 
problem directly with Mac OS X.

Jim




Mac OS X/Darwin port of Wine

2003-01-04 Thread Jim White
Hi Gang.

A few weeks ago when I thought how cool it would be to marry Wine and 
Bochs to run Windows progams on Mac OS X  Darwin, I checked around, 
including this list, and didn't find any activity.

So I opened a SourceForge project to focus on just that goal:

http://darwine.sf.net

After I uploaded the home page tonight, I checked here again and found 
this topic had just come up last week!

I don't know yet whether it makes sense to maintain a separate 
discussion and/or repository for this purpose.  Seems like it would at 
least be useful during active initial work and then perhaps phase out.

In any case, the resource is ready-to-use and I'ld like to hear from 
others interested in this port.

Jim




Re: Mac OS X/Darwin port of Wine

2003-01-04 Thread Jim White
Dan Kegel wrote:
 Lionel Ulmer wrote:

 We agreed that before starting with Wine, one could start with
 running, for example, Linux/x86 binaries on Linux/PPC. That would
 already validate the fact that you can draw the line
 at one point and from there run such an heterogenous environment.

 Hey, that's a good idea. Then you could install and run x86 linux
 packages, if you were really lucky. Might be useful for running
 proprietary packages where they don't bother to rebuild for
 linux/ppc.

Yes, it would be terrific if someone were to do some porting for
Linux/PPC.  Wine and Bochs certainly work quite well with Linux.

For my part, I plan to start with a trial port to Darwin/x86.

If those two things happened in parallel, that would save a lot of time 
and definitely bring more expertise to bear on the many issues.

Jim




Re: Mac OS X/Darwin port of Wine

2003-01-04 Thread Jim White
Brian Vincent wrote:
 This issue comes up a few times a year (isn't it in a FAQ
 somewhere?)  Anyway, take a look at these threads:

Yes it is a bit of a FAQ, and the answers have mostly been along the 
lines of just use Winelib for non-Intel machines.  Now it can be ... 
and checkout the Darwine BOF.

Thanks for the links!

Lionel Ulmer wrote:
It's a very nice subject... A pitty it has such a low importance (seeing how
X86 dominates the desktop market).


Supposedly Mac OS X already has the largest installed base of any single 
*nix distribution and certainly is ahead of Linux on the desktop.  So 
there are easily as many potential users of Wine for Mac OS X as Wine 
for X86-whatever.  And Virtual PC has been popular  successful.

Dan Kegel wrote:
 Sounds like a plan to me.  Hopefully your Wine tree won't drift
 out of sync with the main one like so many Linux kernel port trees
 do.

Yep, keeping things in sync will be important.  In checking out Winehq 
distrbution, I see that updates revolve arond the monthly tarballs.  So 
that's where we'll start and try to keep up-to-date with that.

Thanks for the encouragment!

Jim




Wine for LINUX on S390

2001-01-17 Thread Jim

Has anyone tried to port Wine to run on LINUX on an IBM mainframe? We
are running several LINUX virtual servers of different distributions and
would like to try running WINE. So far when I run the /tools/wineinstall
I get the error that I must add my CPU CONTEXT to WINNT.H.





Re: lstrlenA exception handling

2000-08-09 Thread Jim Aston


Marcus Meissner wrote:
 
  server_call_noerr   279810  93.573   4025559  94.120   4049100
  TryEnterCriticalSection   39993165   2.421104148   5.724246233
  CRITSECTION_EnterCriticalSection  36801339   1.984 85331  11.492494402
  CRITSECTION_LeaveCriticalSection  36801338   1.922 82694   5.577239904
  __get_teb119747280   1.855 79819   1.855 79819
 
 Why isn't it inlined?

Its the same assembly code, just wrappered.

  send_request280074   0.539 23205   0.543 23378
  lstrlenA   8145374   0.451 19381   0.690 29690
 
 Why is it called so often?

Excellent question, worth quantifing.  I took a stab at it, but I haven't come up
with anything.  Could be coming from the app side, perhaps related to the registry.

-Jim
-- 
The address in the headers is not the poster's real email address.  Do not send
private mail to the poster using your mailer's "reply" feature.  CC's of mail 
to mailing lists are OK.  Problem reports to "[EMAIL PROTECTED]".  
The poster's email address is "[EMAIL PROTECTED]".




Re: Debugging question for MathType

2000-07-25 Thread Jim Shepherd

Eric Pouech wrote:
  In the debugger, I used "x /d 0x409168bc" to find the lpType.  The
  output is 0, the default, which I understand is a string.
 well, the type is REG_NONE... so not in every case a string
 

Looking back at the Microsoft win32 api page that references the
RegQueryValueEx function, I see where I mistakenly interpreted that the
type defaults to string (It was referring to the default type when the
value of LpValueName is null).  Anyway, the registry key in question,
"AppLang", has a value in the registry of "0x0409,enu" (at least in the
~/.wine/user.reg file).  

 debugger's command sounds ok. be sure you use them at the right place
 (eg after the server's call has returned) (silly question I know)

Yep, even double checked after receiving this email. 

Before the debugger gives a prompt the log file shows the following line
(this line actuall occurs twice, identically):

trace:reg:RegSetValueExA (0x28,"AppLang",0,1,0x405e7e3e,10)

Here, the type is being set to 1 (string).  As soon as the debugger
prompt is available, x /s 0x405e7e3e gives _IP_EBP_28
Searching for references to this string in the log gives the following
lines:

597 000118d0 0x4070c8d0  SMapLS_IP_EBP_28
...
607 00011970 0x4070c970  SUnMapLS_IP_EBP_28
...
597 000118d0 0x405f08d0  SMapLS_IP_EBP_28
...
607 00011970 0x405f0970  SUnMapLS_IP_EBP_28

Once again, at the debugger prompt: 
x 0x4070c8d0 - 
x 0x4070c970 - 
x 0x405f08d0 - b9d6b7e8
x /s 0x405f08d0 - è·Ö¹ÿÃ  (this is the same value returned by
RegQueryValueEx in the LpData buffer later in the program)
x 0x405f0970 - b9d617e8
x /s 0x405f0970 - èvÖ¹ÿÃ

Looking at the memory/selector.c file, it seems that the SMapLS lines
map a pointer (linear) to another pointer (segmented).  I'm not sure
exactly what this means (I'll have to research this later), but is it
possible that this is where the registry key value is changed; or does
everything look as expected?

Looking again at the register value query call:

Call advapi32.235: RegQueryValueExA(0040,004ac7c4
"AppLang",,409168bc,4091686c,409168b8) ret=00468b3f fs=008f

The LpData is now 41012ec0 (x 0x4091686c).  Assuming that this value is
memory reference: x /s 0x41012ec0 - AppName

I'm not sure I understand where this came from, unless there is a
misdirected pointer or something.

 from the rest of the log, it may well be that the app is looking for
 the "good" DLLs, even if the names sound wrong to you, but it's hard
 to tell
 

Any ideas on how I can try to find out how the filename string for the
dll was created?  I tried to enable the string debugmsg to look for
relevant calls by looking for functions that addressed any memory
locations occupied by the string, but was unsuccessful.


Thanks for your help,
Jim Shepherd
[EMAIL PROTECTED]




Re: Debugging question for MathType

2000-07-23 Thread Jim Shepherd

I am still trying to solve the infinite loop problem I reported earlier,
but I am running into some difficulty debugging it further.  Note: I am
new to debugging and could be making a lot of mistakes.

To compile, I disbaled optimizations by removing the -O2 parameters from
the configure file and used:
./configure --disable-lib
make depend
make

Then "make install" as root.

I used the following command to launch the app:
winedbg -managed -debugmsg +reg,+relay,+module,+win32,+advapi
"/dos/Program Files/MathType/MathType.exe" mathtype.log

The entire log file can be found at:
ftp://ftp.mindspring.com/users/jimshep/mathtype.log.gz

Here are what I believe to be the relevant lines:

Call advapi32.227: RegOpenKeyExA(8001,41012d90 "Software\\Design
Science\\DSMT4\\Config",,00020019,409168cc) ret=00468b11 fs=008f
trace:reg:RegOpenKeyExA (0x8001,"Software\\Design
Science\\DSMT4\\Config",0,20019,0x409168cc)
Ret  advapi32.227: RegOpenKeyExA() retval= ret=00468b11 fs=008f
Call advapi32.235: RegQueryValueExA(003c,004ac7c4
"AppLang",,409168bc,4091686c,409168b8) ret=00468b3f fs=008f
trace:reg:RegQueryValueExA
(0x3c,"AppLang",(nil),0x409168bc,0x4091686c,0x409168b8=50)

In the debugger, I used "x /d 0x409168bc" to find the lpType.  The
output is 0, the default, which I understand is a string.  I then used
"x /s 0x4091686c" to find lpData.  The output was à*`A#(@ (It should
read "0x040,enu".  I used the same debug commands on previous
RegQueryValueExA calls and was able to see the appropriate keys.  Are
these commands incorrect in this case, or is the function returning the
wrong data?

Ret  advapi32.235: RegQueryValueExA() retval= ret=00468b3f
fs=008f
Call advapi32.204: RegCloseKey(003c) ret=00468b57 fs=008f
trace:reg:RegCloseKey (0x3c)
Ret  advapi32.204: RegCloseKey() retval= ret=00468b57 fs=008f
Call kernel32.425: GetUserDefaultLCID() ret=00468f66 fs=008f
Ret  kernel32.425: GetUserDefaultLCID() retval=0409 ret=00468f66
fs=008f
Call kernel32.342: GetLocaleInfoA(0409,0003,4091677c,00ff)
ret=004281c2 fs=008f
Ret  kernel32.342: GetLocaleInfoA() retval=0004 ret=004281c2 fs=008f
Call kernel32.534: MultiByteToWideChar(,,4091677c
"ENU",,41012e10,0004) ret=004026bd fs=008f
Ret  kernel32.534: MultiByteToWideChar() retval=0004 ret=004026bd
fs=008f
Call kernel32.727: WideCharToMultiByte(,,40916898
L"ENU",,41012ea0,0007,,) ret=004026dc
fs=008f
Ret  kernel32.727: WideCharToMultiByte() retval=0004 ret=004026dc
fs=008f
Call kernel32.250: FindFirstFileA(41012190 "C:\\Program
Files\\MathType\\Language\\MT4ENU.DLL",40916618) ret=0048c8c9 fs=008f
Ret  kernel32.250: FindFirstFileA() retval= ret=0048c8c9 fs=008f

I believe that this call should be looking for mswenu.dll or *enu.dll
instead of MT4ENU.DLL since there are no files beginning with MT4 in
that directory and the file mswenu.dll is the only one with the enu
suffix.  I tried to find any calls in the log file that have written
anything to the addresses between 0x41012190 and the end of the string,
but was notable to find any.  How do I find out how the string that
starts at 0x41012190 was created? 

The rest of the log shows the looping problem.


I also noticed that a couple of the links on the website, under the
References page need to be updated: 

Microsoft link to win32 api:
http://msdn.microsoft.com/library/psdk/portals/win32start_1n6t.htm
Overview:
http://msdn.microsoft.com/library/psdk/buildapp/win32api_7f8p.htm
Reference:
http://msdn.microsoft.com/library/psdk/psdkref/alphafunc_3bjm.htm

Thanks for the help,
Jim Shepherd
[EMAIL PROTECTED]




Re: Corel WINE team at Ottawa Linux Symposium

2000-07-17 Thread Jim Aston

Traditionally there is a party each night hosted by
a local Linux company(Corel's is Thursday).  Free food and 
open bar is part of the tradition.  I suggest it would be a
good place to start.  Though it might be difficult to do any 
damage to the party fund. ;-\

They are also centered in the Market area of Ottawa,
within 5 minutes walking distance to 100 bars/pubs/restaurants.  
So might be a convenient place to start/depart from.

Restaurants: 
Hard Rock,
Heart  Crown: Pub food, but good beer. 
Westin Hotel: 3*
Blue Cactus: mexican
Nickles: diner food
Italian?
other?...

-Jim


Jeremy White wrote:
 
 Alexandre and I will be there starting Wednesday.
 
 Being a strong backer of Wine, I feel it's important
 to support Wine and all of its traditions.  For some
 reason, helping to spend the Wine party fund is one
 I seem to feel especially strongly about...g
 
 I think we should have a Wine developers gathering.
 Dinner?  Wednesday night?  I've never been to
 Ottawa; anyone have any suggestions for where/when?
 
 Jeremy
 
 Jeff Tranter wrote:
 
  Just a note that the Corel WINE team will be at the
  Ottawa Linux Symposium coming up next week on July
  19th to 22nd. There are no formal WINE presentations
  scheduled, and apparently they aren't accomodating
  BOF sessions, but we could set up some informal
  discussions with other WINE developers who are
  there.
 
  It was a great event last year. Unfortunately, if you
  haven't already registered for the conference then
  you are out of luck as it is sold out. For more details
  see http://www.ottawalinuxsymposium.org/2000
 
  --
  Jeff Tranter  Project Leader, Linux Development (Wine team), Corel Corporation
  The free download of Corel PHOTO-PAINT for Linux is now available.
  Check it out at http://linux.corel.com/products/pp9
  --
  The address in the headers is not the poster's real email address.  Do not send
  private mail to the poster using your mailer's "reply" feature.  CC's of mail
  to mailing lists are OK.  Problem reports to "[EMAIL PROTECTED]".
  The poster's email address is "[EMAIL PROTECTED]".
-- 
The address in the headers is not the poster's real email address.  Do not send
private mail to the poster using your mailer's "reply" feature.  CC's of mail 
to mailing lists are OK.  Problem reports to "[EMAIL PROTECTED]".  
The poster's email address is "[EMAIL PROTECTED]".




BorCon Trip Report (long)

2000-07-14 Thread Jim Graham


George Boutwell wrote:
 
   I was wondering if someone from Code Weavers good
 give a blurb about how they felt things at BorCon
 went.  I was at BorCon, stopped by their booth (was
 glad to see them there), and wasn't able to make it to
 the Birds of a Feather Session they had and would like
 to know how that did (or didn't) go.  Thanks.


I was at BorCon for CodeWeavers.  I hosted the BOF on "Using Wine to
Port Application Software to Linux" and also gave a talk on "Porting
Windows Application Software To Linux" (which really covered all of the
tools, technologies, and techniques).
  I also worked in the booth all day Tuesday and Wednesday.  CodeWeavers
also had a BOF on porting Delphi code to Linux using Wine, but I missed
that one, so can't talk about how it did.

Overall impression:  good show, lot's of interest and enthusiasm in both
Linux and Wine.

---
The BOF
---

The BOF was surprisingly well attended, especially since it started at
7:00am on the last day of the conference.  We had about 30 people in
all, mostly windows application developers using C/C++ | Delphi.

I spent about 30 minutes simply talking about what Wine is, what it
does, it's history, and status.  It turned out to be a great forum for
educating the audience about Wine, since many of them were highly
pessimistic about it (complaints about it not being able to run Word or
Excel are all too common - argh).  Most of the questions that came in
related to winelib, which I was glad to talk about (beats having to
discuss why Quicken won't work!).  Most of the audience had never heard
of it, and even those that had misunderstood its purpose.  The only
complaints that came in were in regard to it not being perfect (duh) and
the "poor" documentation.  Other than that, it was really well
received.  I really blew them away at the end when I showed them MS
PowerPoint2000 running on Wine (thanks to all of you!).

They were also excited about the future of Wine.  In fact, when I
discussed the objectives/goals of Wine 1.0, it generated a lot of
discussion, and certainly a lot of enthusiasm.  What surprised me
though, is that the 1.0 discussion was not about "cool, it'll work with
all of my windows apps," but instead, "cool, it'll work well with some
of my windows apps," and "cool, it will be better documented and easier
to install/configure."


The Talk


The talk focused on tools and technologies that are available for
deploying windows software on linux.  I covered everything from VMWare
to (what I call) "pure porting" (using Xlib/Xaw/Xm/libc, etc.).  I
focused on teaching the differences between the technologies, and
showing what's good and bad about each.  I emphasized Wine and winelib
quite a bit, but again had to educate the audience about what it is.  I
think most of the audience agreed that, even if it's not your final
solution, using winelib to get to Linux was the best starting point.


The Exhibits


According to some of the other exhibitors, this year's exhibit floor was
the biggest one yet.  Personally, I thought it looked small.  It
certainly wasn't LinuxWorld.  Heck, it wasn't even as big as The
Bazaar.  But it was intimate, and we were able to meet a lot of great
people.  We were also able to talk to quite a few people for a longer
period of time, which was a nice change.  Traffic through the booth was
near zero during the day (while sessions were running), but during
lunch, and after the sessions ended, it was always busy.  Again, a lot
of interest in moving to Linux.  I think the Borland development
community is suddenly taking Linux very seriously, and as Kylix becomes
available, we'll start to see more and more interest (at least from the
business world).  That interest will drive additional enthusiasm, and
Wine is becoming an obvious consideration for everyone from users to
developers and ISV's.



That's about it for now.  Feel free to ping me if you need/want more
details.  I'll be posting the talk on www.codeweavers.com, and for
anyone that was at the show, it'll be on the post-conference CD.  

Hope to see more of you at LinuxWorld in August!

Jim Graham
CTO - CodeWeavers, Inc.
[EMAIL PROTECTED]




WINE fix needed - $ paid

2000-07-11 Thread Jim Freeman

Anyone available/willing to do little snippets of quick-turnaround
WINE contract work?

Initially, I'd like to pay someone $US300 to write a technical
analysis of what WINE lacks that keeps 

http://www.ldscatalog.com/sggifs/download/PafSetup.exe

(both the setup program and the program it installs) from
running under WINE, and what would be involved in getting
the necessary pieces into the source that would make it run
(without Windows having to be installed).  

The analysis should enumerate the steps taken to make the
determinations (so I can vicariously dip my toe into WINE
internals and tools).

This would form the basis of a statement of work for getting
PAF to run under Linux/WINE, and creating a Debian package
for it.

If you know of anyone that can/will do this work, please let me
know.
==
Jim Freeman
[EMAIL PROTECTED]
Sovereign Software




Debugging question for MathType

2000-07-11 Thread Jim Shepherd
27: WideCharToMultiByte() retval=0004 ret=004026dc
fs=008f
Call kernel32.250: FindFirstFileA(40f42860 "C:\\Program
Files\\MathType\\Language\\MT4ENU.DLL",40856618) ret=0048c8c9 fs=008f
Ret  kernel32.250: FindFirstFileA() retval= ret=0048c8c9 fs=008f
Call kernel32.333: GetFullPathNameA(40f42860 "C:\\Program
Files\\MathType\\Language\\MT4ENU.DLL",0104,40856758,408565dc)
ret=00491049 fs=008f
Ret  kernel32.333: GetFullPathNameA() retval=002d ret=00491049
fs=008f

The last 10 lines continue to repeat with the following changes:
  the first argument in GetLocaleInfoA  (LCID lcid)
  the fifth argument in MultiByteToWideChar (LPWSTR dst - destination
buffer)
  the first argument in FindFirstFileA (LPCSTR path)
  the first argument in GetFullPathNameA (LPCSTR name)

It seems that the program is querying the registry for the value of
"AppLang", which is "0x040,enu".  Then it gets the locale (should also
be enu).  Then it does some byte-char conversions.  Next it tries to
load a file that does not exist.  I believe that it is supposed to open
mswenu.dll or mswuienu.dll (at least those are the only dll files ending
in "enu" in the referenced directory).

I am new to debugging and don't quite know what to do next.  How do I
verify that the correct registry entry was retrieved and what strings
the MultiByteToWideChar and WideCharToMultiByte functions are
manipulating?

Also, If wine is modified to run MathType, will I be able to use it to
display/edit Math Type equations embedded in a document created with
WordPerfect 9 for Windows using WordPerfect 9 for Linux and the updated
wine?

Thanks for your help.
Jim Shepherd




Feedback request...

2000-06-14 Thread Jim Graham


One of the goals of Wine 1.0 is "improved installation and configuration."
Basically make it possible for just about anyone to install and set up Wine.
We would like to propose a few ideas, and therefore I'm seeking feedback on
the following...

1.) Allow all command line options to be configurable via the .winerc file.
These options would then have the ability to be overridden by the command
line (e.g., if the .winerc includes "debug=true", the command line could
override this with -debug=false).  Of course this would mean that all
command line options would have to include a flag that specifies whether the
option is being turned on or off, specifically to allow for the example
shown above.

2.) Given the above idea, we then create a graphical configuration tool (or
simply extend TkWineSetup) so that we can build a complete .winerc file that
includes all possible options available to Wine.  This tool would also have
help and explanations about each option being presented.

And while I'm at it...another idea we have is to extend the support for
InstallShield installs under Wine.  We could have the Wine server watch for
registry additions that are used to put items in the "Start" menu on a
windows box.  We could then extract that information and put it into scripts
that are loaded appropriately under the users Gnome or K menu.  Users could
then install their application via InstallShield, and then launch them by
clicking on the menu item!

Thoughts? Comments?

Thanks,

Jim Graham
CodeWeavers, Inc.
[EMAIL PROTECTED]








Black cursors on black background.

2000-05-11 Thread Jim Aston





I'm looking into why black cursors disappear on a black background,  I found
this comment in the code:

 windows/x11drv/mouse.c

/* We have to do some magic here, as cursors are not fully
 * compatible between Windows and X11. Under X11, there
 * are only 3 possible color cursor: black, white and
 * masked. So we map the 4th Windows color (invert the
 * bits on the screen) to black. This require some boolean
 * arithmetic:
 *
 * Windows  |  X11
 * AndXor  Result   |   Bits Mask Result
 *  0  0 black  |01 background
 *  0  1 white  |11 foreground
 *  1  0 no change  |X0 no change
 *  1  1 inverted   |01 background
 *
 * which gives:
 *  Bits = 'And' xor 'Xor' (the X will be 1)
 *  Mask = (not 'And') or 'Xor'
 *
 * FIXME: apparently some servers do support 'inverted' color.
 * I don't know if it's correct per the X spec, but maybe
 * we ought to take advantage of it.  -- AJ
 */

Simply "OR'ing" the black on black fixes black, but clobbers the white.
How do you implement inverted color?(and test the server)  I'd like to
"take advantage of it" if I can.

Or is there a better way to fix this problem?
-Jim