From: ke...@lila.physics.sunysb.edu (Kenji Matsuoka) Subject: Developing Wine: where to start? Date: 1995/08/29 Message-ID: <41ugv4$kt6@abel.cc.sunysb.edu>#1/1 X-Deja-AN: 109096403 organization: SUNY Stony Brook, Physics newsgroups: comp.emulators.ms-windows.wine I really really like the idea of Wine, and would love to contribute to the development effort, but first I need to do some reading. I know the basics of C, but I've never done system programming. I don't know anything about Windows API. Where should I start? Kenji
From: loe...@cs.tu-berlin.de (Martin v.Loewis) Subject: Re: Developing Wine: where to start? Date: 1995/08/30 Message-ID: <422kpb$9o8@news.cs.tu-berlin.de> X-Deja-AN: 109163103 references: <41ugv4$kt6@abel.cc.sunysb.edu> content-type: text/plain; charset=iso-8859-1 organization: Technical University of Berlin, Germany mime-version: 1.0 newsgroups: comp.emulators.ms-windows.wine In article <41ugv4$...@abel.cc.sunysb.edu>, Kenji Matsuoka <ke...@lila.physics.sunysb.edu> wrote: > >I really really like the idea of Wine, and would love to contribute >to the development effort, but first I need to do some reading. I >know the basics of C, but I've never done system programming. I don't >know anything about Windows API. Where should I start? This is my Wine TODO list. I posted such lists before, but because it is outdated quickly, I hesitated to put it in a permanent location. Check item 9 if you don't like this. It turns out that the items fall into two classes: writing source code and writing documentation. Both are equally important, but require different skills. When you read the items below, you can safely skip the elaborations if you are not interested in an item. First, I have some short-term problems. If you choose to deal with these now, you might be finished in a couple of weeks. Post in this group if you pick anything to avoid duplication of efforts. 1. Fix the dialog look. Although dialogs are mostly functional now, they don't look right. Texts are positioned wrong and items overlap. If you want to solve this problem, you should know how dialogs are created in Windows and how they are displayed in X11. 2. Add Win95 look. NOTE: There is already somebody working on that. I believe it's enough for two, though. 3. Add WinHelp support. I found that an application using WinHelp and winhelp.exe exchange an undocumented message WM_WINHELP to implement context-sensitiveness. Investigate the parameters of this message, and have Wine send it, too. Here, debugging Windows code seems to be a requirement. [4,5] finished 15. Improve Winsock support Although winsock support is already in Wine, it does not work reliably. Find the problems, and fix them. Next, I have some items which require a medium amount of work. 6. Add lzexpand. LZEXPAND.DLL is a DLL that decompresses files compressed with compress.exe. If possible, Wine should have a replacement to allow program installation. People have mentioned that the algorithm might be patented, so some legal research might be necessary as well. 7. Add ver. VER.DLL does the version checking in the installation process. Again, Wine could use a replacement to become standalone. The documentation items don't require programming skills. Instead, a profound knowledge of the English language is desirable. More important, the documentation maintainers should be willing for a long term commitment to their documentations, and update it frequently. I think it would be best if the documents were posted into c.e.m.w. regularly. Anybody taking such a project should contact the Wine FAQ maintainer as well. 9. Maintain the Wine TODO list. As this is a single frequently asked question, and often changes, the TODO list maintainer should collect all open and in-progress projects of Wine. Developers should be encouraged to contact the TODO list maintainer if they think a problem could need another volunteer, if they volunteer to deal with a problem, or if they think an issue in this list is resolved. 10. Maintain the Wine Installation HOWTO. People frequently ask how to install Wine. The maintainer of this document should actively collect answers to this question. This is a journalistic problem, as people often don't post the solution even if they found one. The Installation HOWTO should list configurations known to work and those that are known not to work. The document is likely to be small, but changed at least as often as new Wine releases appear. Although it is covered partially in the man page, I still think that somebody taking care of installation only would be helpful. As an additional service, preconfigured binaries are also welcome by some users. The last three items are long-term projects. Completion will take at least a year, and it is not likely that a single person does the whole thing. However, there is no reason not to start with it today. 11. Add OLE2. There are several approaches to provide OLE2 support to Wine, which could be followed independently: a) Make Wine look that much like Windows that you can use the MS supplied implementation (the 'native' approach). This is what Wine does now. b) Implement just as much of OLE2 that the application thinks it is there, but really does nothing (the 'stub' approach). This is my favourite approach, and I intend to follow it further. c) Provide a complete replacement of OLE2 (the 'full' approach). This is Wine's eventual goal. Not likely to happen anytime soon. d) Allow Wine applications to interoperate even if they are not in the same process, or on the same machine (the 'distributed' approach). I think this would be most interesting, although most difficult to implement. 12. Add Win32. Win32 is the API provided by Windows NT and Windows 95. Because it is similar to Windows 3.1 in some respects, the Wine code can be reused, for some areas. There are still many design problems. Contact me if you want to get involved. 14. Add distribution. Although the current approach of running several Windows programs in one Linux process gives you best backward compatibility, one process per program would give you the usual Unix crash protection. In this case, communication between the several Wine instances is required. Several solutions are possible, including communication to a remote computer. Much like 11d), this would make Wine a better Windows than Windows :-) Anybody is encouraged to follow up with more items for this list. Especially welcome are commitments for any of these points, of course. Regards, Martin
From: iia...@iifeak.swan.ac.uk (Alan Cox) Subject: Re: Developing Wine: where to start? Date: 1995/08/31 Message-ID: <DE65xJ.24A@info.swan.ac.uk>#1/1 X-Deja-AN: 109240522 sender: n...@info.swan.ac.uk x-nntp-posting-host: iifeak.swan.ac.uk references: <41ugv4$kt6@abel.cc.sunysb.edu> <422kpb$9o8@news.cs.tu-berlin.de> organization: Institute For Industrial Information Technology newsgroups: comp.emulators.ms-windows.wine In article <422kpb$...@news.cs.tu-berlin.de> loe...@cs.tu-berlin.de (Martin v.Loewis) writes: >15. Improve Winsock support >Although winsock support is already in Wine, it does not work reliably. >Find the problems, and fix them. This one may be a good one to drop back for a while. Winsock2 is about to appear and potentially change all the rules of the game. Anyone working on it should read the draft winsock2 spec before working at the least. Semi related to this is doing the netdde stuff - at the moment wine with the real DLL's traps out with unimplemented interrupts which are the rather well documented netbios interrupt calls. >6. Add lzexpand. >LZEXPAND.DLL is a DLL that decompresses files compressed with compress.exe. >If possible, Wine should have a replacement to allow program installation. >People have mentioned that the algorithm might be patented, so some >legal research might be necessary as well. Do the work outside the USA, store it outside the USA, the civilised world doesnt have software patents. Also verify the following with the lpf, but I believe it is correc that the patent is on the compression not the decompression. Alan -- ..-----------,,----------------------------,,----------------------------,, // Alan Cox // iia...@www.linux.org.uk // GW4PTS@GB7SWN.#45.GBR.EU // Redistribution of this message via the Microsoft Network is prohibited <A href="file:/dev/mouse">Click here to disable mouse.</A>