Re: Low-level coding

2006-09-13 Thread hendric
Hi,Slunt
Hmm as my thought you'd better read something about windows kernel 
technology. If you got difficult in assembly , which I thought the very 
low-level coding you refered to , to have a look at books about assembly maybe 
the best choice. But I still think windows kernel technology should be most 
important.
Cheers!
--   
hendric
2006-09-13

-
发件人:Aaron Slunt
发送日期:2006-09-11 08:01:07
[EMAIL PROTECTED]
抄送:
主题:Low-level coding

Hi,

I was interested in starting to play with wine and maybe even build a few
functions for it...but then I realized that it's low-level coding, something
I'm not familiar with (higher level is more of my expertise). Correct me if
I'm wrong, I could be looking at the wrong files :S. Does anyone  have any
good places to go to to learn about low-level coding, and afterwards coding
for wine specifically?

Thanks.

-- 
Tired of being hammered by spyware, or want to browse the internet in a
whole new way? Download Firefox and enjoy a much better internet experience.
http://getfirefox.com/






Re: Low-level coding

2006-09-12 Thread Kai Blin
On Monday 11 September 2006 22:58, Kuba Ober wrote:
 On Monday 11 September 2006 12:12, Frank Richter wrote:
[...]
  :S might've been an emoticon here.

 Thought about that, a quick google for :S didn't show up anything
 interesting.

According to [1], it's a contratidcory remark smiley.

Cheers,

Kai

[1] David Sanderson, Smileys , O'Reilly, 1993

-- 
Kai Blin, kai Dot blin At gmail Dot com
WorldForge developerhttp://www.worldforge.org/
Wine developer  http://wiki.winehq.org/KaiBlin/
--
Will code for cotton.


pgpBiUw9wJJPR.pgp
Description: PGP signature



Re: Low-level coding

2006-09-11 Thread Saulius Krasuckas
* On Sun, 10 Sep 2006, Aaron Slunt wrote:
 I was interested in starting to play with wine and maybe even build a 
 few functions for it...but then I realized that it's low-level coding, 
 something I'm not familiar with (higher level is more of my expertise). 
 Correct me if I'm wrong, I could be looking at the wrong files :S.

You are welcome! :)
Can you refer to exact file names your were looking at?

 Does anyone have any good places to go to to learn about low-level 
 coding, and afterwards coding for wine specifically?

For me Wine embraces libs for quite wide spectra of functions and not so 
few ioctls:

  $ grep -rI ioctl[^a-zA-Z0-9]*( dlls/ | wc -l
  276

  $ grep -rIc ioctl[^a-zA-Z0-9]*( dlls/ | grep -v :0
  dlls/avicap32/avicap32_main.c:4
  dlls/dinput/joystick_linux.c:10
  dlls/dinput/joystick_linuxinput.c:7
  dlls/dinput/effect_linuxinput.c:2
  dlls/iphlpapi/ifenum.c:9
  dlls/kernel/comm.c:4
  dlls/kernel/sync.c:1
  dlls/kernel/oldconfig.c:1
  dlls/ntdll/cdrom.c:57
  dlls/ntdll/directory.c:7
  dlls/ntdll/file.c:1
  dlls/ntdll/serial.c:10
  dlls/ntdll/tape.c:11
  dlls/qcap/v4l.c:17
  dlls/winedos/int13.c:1
  dlls/winedos/ppdev.c:8
  dlls/winmm/joystick/joystick.c:4
  dlls/winmm/wineaudioio/audio.c:6
  dlls/winmm/wineoss/audio.c:61
  dlls/winmm/wineoss/dscapture.c:11
  dlls/winmm/wineoss/dsrender.c:15
  dlls/winmm/wineoss/midi.c:5
  dlls/winmm/wineoss/mixer.c:17
  dlls/winmm/wineoss/mmaux.c:3
  dlls/wnaspi32/aspi.c:2
  dlls/ws2_32/socket.c:2

As for me, low level coding is writing a device driver for linux kernel 
:-] and using it from the Wine code.  

But there is also a bunch of hardware platform specific issues also, like 
advanced signal handling which may be needed for example to make remote 
process operations work [1] or to implement ntoskrnl and make safedisc 
work [2].

All that stuff needs knowledge of glibc programming at least, I guess.  
So maybe you should read recent libc.pdf if you are interested into this 
area?

Also, some guys are working on DCOM/OLE stuff [3] which seems to be quite 
low level for me sometimes (wire-protocol compatibility).

Going further (upper?) most of Wine code tries to use WinAPI, which I 
doubt should be considered as low-level.  To get into basic Wine coding it 
may be usefull to review Janitorial Projects [4] and maybe to hang on one 
of it? :)

Without naming exact Wine component or functionality you are interested in 
I doubt someone will answer you more specifically :-P


[1] http://wiki.winehq.org/RemoteProcessOperations
[2] http://wiki.winehq.org/VitaliyMargolen
[3] http://wiki.winehq.org/RobShearman
[4] http://wiki.winehq.org/JanitorialProjects




Re: Low-level coding

2006-09-11 Thread Damjan Jovanovic


--- Aaron Slunt [EMAIL PROTECTED] wrote:

 Hi,
 
 I was interested in starting to play with wine and
 maybe even build a few
 functions for it...but then I realized that it's
 low-level coding, something
 I'm not familiar with (higher level is more of my
 expertise). Correct me if
 I'm wrong, I could be looking at the wrong files :S.

Look at a few of the main DLLs (eg. kernel), the
loader and wineserver code is complex. COM DLLs (eg.
directx) are undecipherable unless you know COM.

 Does anyone  have any
 good places to go to to learn about low-level
 coding, and afterwards coding
 for wine specifically?

There's some useful coding hints for wine at
www.wine-wiki.org. The developer's cheatsheet, and the
wine dev guide are also helpful.

You learn the most by doing it :-).

 Thanks.

Good luck
Damjan

 -- 
 Tired of being hammered by spyware, or want to
 browse the internet in a
 whole new way? Download Firefox and enjoy a much
 better internet experience.
 http://getfirefox.com/
  
 


__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 




Re: Low-level coding

2006-09-11 Thread Kuba Ober
 I was interested in starting to play with wine and maybe even build a few
 functions for it...but then I realized that it's low-level coding,

What do you mean by low-level?

 Correct me if I'm wrong, I could be looking at the wrong files :S.

Are you looking at assembly files? Those have .S extension. Methinks you 
should focus on the C sources first, which have .c extension.

Cheers, Kuba




Re: Low-level coding

2006-09-11 Thread Frank Richter
On 11.09.2006 15:24, Kuba Ober wrote:
 Correct me if I'm wrong, I could be looking at the wrong files :S.
 
 Are you looking at assembly files? Those have .S extension. Methinks you 
 should focus on the C sources first, which have .c extension.

:S might've been an emoticon here.

-f.r.





Re: Low-level coding

2006-09-11 Thread Aaron Slunt

Saulius Krasuckas wrote:

* On Sun, 10 Sep 2006, Aaron Slunt wrote:
  
I was interested in starting to play with wine and maybe even build a 
few functions for it...but then I realized that it's low-level coding, 
something I'm not familiar with (higher level is more of my expertise). 
Correct me if I'm wrong, I could be looking at the wrong files :S.



You are welcome! :)
Can you refer to exact file names your were looking at?

  
Does anyone have any good places to go to to learn about low-level 
coding, and afterwards coding for wine specifically?



For me Wine embraces libs for quite wide spectra of functions and not so 
few ioctls:


  $ grep -rI ioctl[^a-zA-Z0-9]*( dlls/ | wc -l
  276

  $ grep -rIc ioctl[^a-zA-Z0-9]*( dlls/ | grep -v :0
  dlls/avicap32/avicap32_main.c:4
  dlls/dinput/joystick_linux.c:10
  dlls/dinput/joystick_linuxinput.c:7
  dlls/dinput/effect_linuxinput.c:2
  dlls/iphlpapi/ifenum.c:9
  dlls/kernel/comm.c:4
  dlls/kernel/sync.c:1
  dlls/kernel/oldconfig.c:1
  dlls/ntdll/cdrom.c:57
  dlls/ntdll/directory.c:7
  dlls/ntdll/file.c:1
  dlls/ntdll/serial.c:10
  dlls/ntdll/tape.c:11
  dlls/qcap/v4l.c:17
  dlls/winedos/int13.c:1
  dlls/winedos/ppdev.c:8
  dlls/winmm/joystick/joystick.c:4
  dlls/winmm/wineaudioio/audio.c:6
  dlls/winmm/wineoss/audio.c:61
  dlls/winmm/wineoss/dscapture.c:11
  dlls/winmm/wineoss/dsrender.c:15
  dlls/winmm/wineoss/midi.c:5
  dlls/winmm/wineoss/mixer.c:17
  dlls/winmm/wineoss/mmaux.c:3
  dlls/wnaspi32/aspi.c:2
  dlls/ws2_32/socket.c:2

As for me, low level coding is writing a device driver for linux kernel 
:-] and using it from the Wine code.  

But there is also a bunch of hardware platform specific issues also, like 
advanced signal handling which may be needed for example to make remote 
process operations work [1] or to implement ntoskrnl and make safedisc 
work [2].


All that stuff needs knowledge of glibc programming at least, I guess.  
So maybe you should read recent libc.pdf if you are interested into this 
area?


Also, some guys are working on DCOM/OLE stuff [3] which seems to be quite 
low level for me sometimes (wire-protocol compatibility).


Going further (upper?) most of Wine code tries to use WinAPI, which I 
doubt should be considered as low-level.  To get into basic Wine coding it 
may be usefull to review Janitorial Projects [4] and maybe to hang on one 
of it? :)


Without naming exact Wine component or functionality you are interested in 
I doubt someone will answer you more specifically :-P



[1] http://wiki.winehq.org/RemoteProcessOperations
[2] http://wiki.winehq.org/VitaliyMargolen
[3] http://wiki.winehq.org/RobShearman
[4] http://wiki.winehq.org/JanitorialProjects

  
Thanks all for the replies. I took note to the JanitorialProjects page, 
and found the DllCanUnloadNow project.


I wrote a patch for the dinput.c one, to start with getting familiar 
with wine's code, and it compiles fine, but I have no way (at least know 
of a way) of testing if the implementation actually works or not. It 
looks like it should, and it compiles, but I don't know for sure how to 
test it out...I've skimmed through the wiki, but I need some human help 
as well :(


And I guess I really meant lower-level coding, C looks scary as I'm 
not familiar with it and it looks more complex than other languages like 
Java, but the same syntax makes it a lot easier :O


Thanks for the support, makes things much easier :)




Re: Low-level coding

2006-09-11 Thread Kuba Ober
On Monday 11 September 2006 12:12, Frank Richter wrote:
 On 11.09.2006 15:24, Kuba Ober wrote:
  Correct me if I'm wrong, I could be looking at the wrong files :S.
 
  Are you looking at assembly files? Those have .S extension. Methinks you
  should focus on the C sources first, which have .c extension.

 :S might've been an emoticon here.

Thought about that, a quick google for :S didn't show up anything interesting.

Cheers, Kuba




Low-level coding

2006-09-10 Thread Aaron Slunt
Hi,I was interested in starting to play with wine and maybe even build a few functions for it...but then I realized that it's low-level coding, something I'm not familiar with (higher level is more of my expertise). Correct me if I'm wrong, I could be looking at the wrong files :S. Does anyone have any good places to go to to learn about low-level coding, and afterwards coding for wine specifically?
Thanks.-- Tired of being hammered by spyware, or want to browse the internet in a whole new way? Download Firefox and enjoy a much better internet experience.
http://getfirefox.com/