User:D0g

From ReactOS Wiki
Jump to: navigation, search

Memo

* d0g_ is now known as DOG
<DOG> respect++
<d0g_> singleton class d0g extends human implements superiority
<d0g> do you know why I hate poems? I find it senseless and a waste of time trying to guess what the author had in mind by using this metaphor or that synonym
<d0g> ReactOS, the 1338 system - always step ahead


My scratchpad

The following is my idea for a better Version_Status page. Don't touch or copy until I'm done!

Icon speedy deletion.png Warning: If you are not a developer and you want to edit the status of a component, then ask its current developer/maintainer first. Quote him on the Discussion page. This is mandatory to make sure the information is authoritative.


Name Current Status
General
Website localization See RosCMS (permissions needed) or ask appropriate language maintainer.
Operating system localization Depends on language. Ask appropriate language maintainer.
Software compatibility See Compatibility Database
Win32 Subsystem
Win32 DLLs See Testman reports
Win32k

Support for User mode printer drivers: unimplemented.
Text/font system: needs complete rewrite.
DIB code: mostly implemented, could need optimisation in some places.
Mouse pointer: missing alpha support.
Region support: implemented, only minor interface improvements needed.
Pens: missing support for geometric pens.
Brushes: missing support for driver managed hatch brushes.
GDI handle manager: implemented, needs improvement.
User handle manager: needs to be fixed to work more like Windows.
Driver loading: needs rewrite (WIP by Timo).
Bitmap code: especially DIB sections are very broken, needs lots of fixing.

Core
Bootloader In a rather good shape, needs further development in terms of adding more features and fixing existing.
Kernel
Memory manager TBA
Object manager TBA
Filesystem support
FAT32 Needs a rewrite of a file system driver (fastfat), test it against windows 2003.
NTFS Completely missing (not to count a very simple stubbed IFS driver). It would make sense to use NTFS 3g from Linux and develop an own driver, also should be developed against Windows 2003.
Ext2 Support in the kernel is missing for a good/known to work driver.
Driver support
VXD Not planned at all, it's a Win9x thing.
WDM TBA
2D/3D Graphics
GDI TBA
GDI+ Completely shared with Wine.
OpenGL Uses software rendering by default, via Mesa3D ICD driver. API is almost complete, only few wgl* functions are missing. Can load various ICD drivers and works fine on WinXP too.
DirectX D3D9, D3D8 & DDraw APIs are supported via WineD3D - wrapper translating DirectX functions to OpenGL.
Sound
Portcls Is a class driver for the audio driver subsystem. MIDI support is missing. HW testing needed for port driver implementation (IPortWavePci & IPortWaveRT). Portcls / sysaudio also need testing & bugfixing for WaveIn (audio recording).
Sysaudio Handles access to the audio port drivers by managing the device interfaces. Needs to map multiple audiostream to a virtual audio pin in kmixer. Portcls / sysaudio also need testing & bugfixing for WaveIn (audio recording).
Wdmaud Is a kernel mode component of wdmaud.drv . Implements the Wave / Mixer / MIDI API. Needs MIDI APIs implemented and WaveIn support + Mixer support.
Kmixer Performs mixing / conversions of streams. Currently very poorly implemented. Needs Kernel FPU float saving support before more work can be done.

Sources for the above

<Fireball> FAT32 - needs a rewrite of a file system driver (fastfat), test it against windows 2003
<Fireball> NTFS - completely missing (not to count a very simple stubbed IFS driver). It would make sense to use NTFS
 3g from Linux and develop an own driver, also should be developer against Windows 2003
<Fireball> *developed
<Fireball> Ext2 - support in the kernel is missing for a good/known to work driver
<Fireball> VXD - not planned at all, it's a Win9x thing
<Fireball> WDM - hm, this deserves more explanation, let's postpone it to later
<Fireball> then
<Fireball> GDI -> Timo
<Fireball> GDI+ - completely shared with Wine
<Fireball> OpenGL -> Pigglesworth
<Fireball> DirectX -> Pigglesworth
<Fireball> Sound section -> janderwald
<Fireball> Bootloader - in a rather good shape, needs further development in terms of adding more features and fixing existing
<Fireball> Kernel - deserves its own talk, with different modules, etc
<Fireball> Mm and Ob to be part of Kernel subsection

<janderwald> portcls - 70 %
<janderwald> sysaudio 80 %
<janderwald> wdmaud 60 %
<janderwald> kmixer 40 %

<Pigglesworth>
opengl32.dll itself:
- almost complete, works fine in windows (xp), can load various ICD drivers provided by video card manufacturers
- missing only few wgl* APIs, will be fixed soon
- default software rendering is done through mesa3d icd driver
--> actual status of opengl support depends on the ICD driver ie. not us
- basic opengl games work (quake3a)
directx
- we support directdraw, directx8 and directx9
- currently we use only Wine libraries thus status depends on wine
- because it relies on an additional opengl layer its performance is affected by the status of opengl
--> kinda works with mesa but mesa have currently problems supporting shaders, don't know what the situation with real HW is, have never tested
- basic ddraw/direct3d demos work, few games work too

<Pigglesworth> [Win32k] the best is to ask jimtabor or Phycius.. I know james worked on the class rewrite, timo
 fixed xlate problems, but what is the overall status I don't know.. menus needs fixing, font rendering too, the real dx implementation is mostly missing

<Physicus> support for User mode printer drivers: unimplemented
<Physicus> text/font system: needs complete rewrite
<Physicus> DIB code: mostly implemented, could need optimisation in some places
<Physicus> mouse pointer: missing alpha support
<Physicus> region support: implemented, only minor interface improvements needed
<Physicus> pens: missing support for geometric pens
<Physicus> brushes: missing support for driver managed hatch brushes
<Physicus> handle manager: implemented, needs improvement
<Physicus> gdi handle manager that is
<Physicus> user handle manager: needs to be fixed to work more like windows
<Physicus> driver loading: needs rewrite (WIP by Timo)
<Physicus> bitmap code: especially DIB sections are broken like sh**, needs lots of fixing
<Physicus> for all user related code you should ask jimtabor, he is currently working in that area

<janderwald> portcls - is the class driver for the audio driver subsystem
<janderwald> midi support is missing
<janderwald> and testing for port driver implementation for IPortWavePci & IPortWaveRT
<janderwald> sysaudio - handles access to the audio port drivers by manageing the device interfaces
<SuperDog> you mean hardware testing is needed to design those two functions IPort* ?
<janderwald> todo: needs to map multiple audiostream to a virtual audio pin in kmixer
<janderwald> yes
<janderwald> wdmaud - is kernel mode component of wdmaud.drv 
<janderwald> implements the wave / mixer / midi api
<janderwald> needs midi api's implemented and wave in support + mixer support
<janderwald> portcls / sysaudio also need testing & bugfixing for wave in (audio recording)
<janderwald> kmixer - performs mixing / conversions of streams
<janderwald> currently very poorly implemented
<janderwald> needs kernel fpu float saving support
<janderwald> before more work can be done