Ok I disassembled the DLLs with following results:
In my opinion the most important DLLs try to import
coredll.dll which isnt even in the original release of QDC.
- DDRAW.DLL imports coredll.dll
- MAPLEDEV.DLL imports coredll.dll
- DINPUTX.DLL imports coredll.dll
(you can find coredll.dll in the WinCE folder of sintendo)
on the other side the other 2 DLLs try to import
coredll.dll AND wdm.dll/sndcore.dll
We have:
1. PLATUTIL.DLL importing:
------------------------------------
coredll.dll
&
wdmlib.dll's functions:
MmMapIoSpace
HalTranslateBusAddress
2. DSOUND.DLL importing:
------------------------------------
coredll.dll
&
sndcore.dll ' s functions:
Addr:10004AA8 hint(0007) Name: ?FPrepForDeint@SMB@@QAAHXZ
Addr:00001202 hint(0025) Name: SndCopyPlayingStatus
Addr:10004ACC hint(000A) Name: ?HeapCompact@SoundMemHeap@@QAAHXZ
Addr:00006409 hint(0012) Name: ?Recycle@SMB@@QAAXXZ
Addr:10004B94 hint(000B) Name: ?LeaveCS@SoundMemHeap@@QAAXXZ
Addr:00003E04 hint(0015) Name: ?UpdateReadPos@SMB@@QAAXXZ
Addr:10004C10 hint(0039) Name: SndPortStopWait
Addr:00002E04 hint(0010) Name: ?PsmhGlobal@SoundMemHeap@@SAPAV1@XZ
Addr:10004C6C hint(001F) Name: ReleaseSndCore
Addr:00001604 hint(0008) Name: ?FPrepForDma@SMB@@QAAHPAEH@Z
Addr:10004C98 hint(0016) Name: ?smbmemcpy_sloppy@SMB@@QAAXHPAEHH0@Z
Addr:00004406 hint(0005) Name: ?CleanupAfterDma@SMB@@QAAXXZ
Addr:10004D20 hint(0001) Name: ?CbAheadOfRead@SMB@@QAAKXZ
Addr:00005808 hint(0003) Name: ?CbTransferBlock@SMB@@QAAKPAEKHH@Z
Addr:10004DD0 hint(000F) Name: ?PsmbCopySmb@SMB@@QAAPAV1@XZ
Addr:00000C02 hint(000D) Name: ?PbData@SMB@@QAAPAEXZ
Addr:10004DE8 hint(0018) Name: FInitSndCore
Addr:0000A20A hint(0037) Name: SndPortPlayWait
Addr:10005070 hint(0029) Name: SndForceInterrupt
Addr:00001000 hint(0006) Name: ?EnterCS@SoundMemHeap@@QAAXXZ
Addr:10005090 hint(0035) Name: SndOpenPort
Addr:00002608 hint(001E) Name: PbSndMemGlobal
Addr:100050DC hint(0045) Name: SndSetSoundMode
Addr:00002805 hint(0024) Name: SndClosePort
Addr:1000512C hint(0038) Name: SndPortStop
Addr:00002E06 hint(003E) Name: SndSetPortFrequency
Addr:10005198 hint(0044) Name: SndSetPortVolume
Addr:00001005 hint(0040) Name: SndSetPortPanPot
Addr:100051E0 hint(003F) Name: SndSetPortMixer
Addr:00001005 hint(0042) Name: SndSetPortSoundAngle
Addr:10005200 hint(003A) Name: SndRequestPortEvent
Addr:00001005 hint(0036) Name: SndPortPlay
Addr:10005220 hint(0020) Name: SetupInterrupt0To15
Addr:00002E08 hint(003C) Name: SndSetDsp
So this shows that I was right saying
-timer.dll
-maple.dll
-icm.dll
are needless for QuakeDC.
I found 3 needless files and 3 new files as a replace for them
-core.dll is imported by ALL DLLs and doesn't import any files by itself (so is it a kind of a kernel?)
-wdmlib.dll is imported by PLATUTIL.DLL
-sndcore.dll is imported by DSOUND.DLL
But the question is if these files are SOOOOO important, why does QuakeDC run without them?
Are there ANY speed improvements that we can not see when they are/aren't in the WinCE folder?
Now I'm totally baffled
So if anyone has anything to add please do so
PS: Fragger, sndcore.dll has a line that say 'CDDA volume control' or so