Needles files in the WinCE folder of QDC!

Talk about Quake, Doom, Wolfenstein 3D, or other DC first person shooting game ports and mods for those games in here.
Moi
QuakeDev Respected
QuakeDev Respected
Posts: 592
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Thu Mar 14, 2002 1:15 am
Has thanked: 0
Been thanked: 6 times

Post by Moi »

Since QuakeDC scene seems to slow down seriously. So I thought it was a good idea to re-release QuakeDC. (BTW I AM working on some mods but don't expect too much, cause I'm a beginner ;) )

Get "my" version of Quake dc here:

http://www.geocities.com/unerdog007/qdc.zip
it is 1.2 Megs

Here comes the funny part: I did a kind of 'hacking' to the DLLs.
As you may know every DLL has needless data at the end of the file(Developer info etc.)
And now don't laugh: I cut it out and saved 17 kb(!) memory(ram)! :-O

But seriously I know it won't affect the performance greatly but why not give it a try?
Who knows maybe we can make the DLLs even smaller?




Files and Changes:
------------------------
wince\DDRAW.DLL = improved the size from 65.5kb to 61kb
wince\DINPUTX.DLL = was 15kb now 14kb
wince\DSOUND.DLL = was 32kb now 30kb
wince\ICM.DLL = was 8.6kb now 7.6kb
wince\MAPLE.DLL = was 31.5kb now 29.6kb
wince\MAPLEDEV.DLL = was 59kb now 55.5kb
wince\PLATUTIL.DLL = was 17.5kb now 16.1kb
wince\TIMER.DLL = was 7.6kb now 6.7kb

If anyone thinks what I did is against any law please let me know.
Then I'll upload the original DLL-files.
Create your own Dreamcast games using the Quake-Engine:
http://quakedev.dcemulation.org/develop/getstarted.htm
Moi
QuakeDev Respected
QuakeDev Respected
Posts: 592
Joined: Thu Mar 14, 2002 1:15 am
Has thanked: 0
Been thanked: 6 times

QDC-Download

Post by Moi »

If the direct link doesnt work use:

http://www.geocities.com/unerdog007/qdc.htm
Create your own Dreamcast games using the Quake-Engine:
http://quakedev.dcemulation.org/develop/getstarted.htm
TheDumbAss
QuakeDev Mod
QuakeDev Mod
Posts: 1233
Joined: Wed Oct 17, 2001 7:44 pm
Location: Indpls, IN USA
Has thanked: 0
Been thanked: 0
Contact:

Post by TheDumbAss »

Thanks Moi.

I've uploaded your file to Quakedev and to the file server for my new site. I did take the liberty to go in and change your text file just a tad (mainly spelling my nick name right Its TDA not TBA ;) )
I also took the rar out and just put all the files into the zip. Most people dont have a problem with rar files anymore... but why double archive?

Heres the file locations I have now for everyone.
The quakedev.dcemulation.org location:
http://quakedev.dcemulation.org/downloa ... elease.zip

and the EdgeFiles location: (hosted by QuakePit.com in association with EdgeNetwork)
http://www.edgefiles.com/index.php/file?id=7394
My old Sig was broken. Enter the new Sig!
Moi
QuakeDev Respected
QuakeDev Respected
Posts: 592
Joined: Thu Mar 14, 2002 1:15 am
Has thanked: 0
Been thanked: 6 times

Post by Moi »

No problem! Honestly i guess would have asked you to correct my readme because
it was my 1st readme written in English! Sorry for spelling your name wrongly.

why double archive? I had to do this since GEOCITIES doesn't allow RAR files so i created a zip file with the rar-file inside it ;)

Do you think it is possible to cut out more data from the DLLs ?

Cool, thank you for crediting me and your PM :)
Create your own Dreamcast games using the Quake-Engine:
http://quakedev.dcemulation.org/develop/getstarted.htm
TheDumbAss
QuakeDev Mod
QuakeDev Mod
Posts: 1233
Joined: Wed Oct 17, 2001 7:44 pm
Location: Indpls, IN USA
Has thanked: 0
Been thanked: 0
Contact:

Post by TheDumbAss »

The readme stuff I kinda felt odd fixing since I didnt ask permission first. I also added my readme to the zip as readme_tda.txt Its from the QuakeDev distribution that didnt include the shareware data and included a short story about how it became avalible. Glad your ok with it though.

And that makes since about the double archive. I do know .rar files have a bit better compression than .zip I'm just leaning to .zip because people are more likely to have something to open it.

Do you think it is possible to cut out more data from the DLLs ?
I really dont know. Its possible but at this point it wouldnt be worth it. Now the thing to edit would be to find a way to allocate some more of the memory to fill up the space thats already been saved. QuakeDC seems to limit itself to 8MB of game data. Any of the left over 8MB that isnt being used to store the engine or WinCE files is just going to waste. :(
thank you for crediting me
I think it would be wrong for me not to with all the work you did on trimming things down. :)
My old Sig was broken. Enter the new Sig!
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

I have a new edited MIDWAY_1.EXE to release. I'll take a look in these new DLLs and put it in.
TheDumbAss wrote:Now the thing to edit would be to find a way to allocate some more of the memory to fill up the space thats already been saved. QuakeDC seems to limit itself to 8MB of game data. Any of the left over 8MB that isnt being used to store the engine or WinCE files is just going to waste. :(
You mean that QDC doesn't use all the heap memory? QuakeDC has a 9.1 MB heapsize.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
Moi
QuakeDev Respected
QuakeDev Respected
Posts: 592
Joined: Thu Mar 14, 2002 1:15 am
Has thanked: 0
Been thanked: 6 times

Post by Moi »

Hi again!
You won't believe it but I found new files :)))

I disassembled midway_1.exe with W32DASM(!) and saw following interesting lines:
................................

+++++++++++++++++++ IMPORTED FUNCTIONS ++++++++++++++++++
Number of Imported Modules = 6 (decimal)
Import Module 001: MAPLEDEV.dll
Import Module 002: PLATUTIL.dll
Import Module 003: COREDLL.dll <==i removed it long time ago, seems to be needless for QDC
Import Module 004: DSOUND.dll
Import Module 005: DDRAW.dll
Import Module 006: DINPUTX.dll

+++++++++++++++++++ IMPORT MODULE DETAILS +++++++++++++++
Import Module 001: MAPLEDEV.dll
Addr:000A6925 hint(0001) Name: MapleCreateDevice
Addr:73657270 hint(0002) Name: MapleEnumerateDevices

Import Module 002: PLATUTIL.dll
Addr:00000000 hint(0012) Name: GetVideoOutputFormat

Import Module 003: COREDLL.dll
Addr:00000000 hint(044E) Name: Ordinal:044E
(this core.dll has many more lines but they dont say any important things)

Import Module 004: DSOUND.dll
Addr:7065526E hint(0001) Name: DirectSoundCreate

Import Module 005: DDRAW.dll
Addr:0A732520 hint(0003) Name: DirectDrawCreate

Import Module 006: DINPUTX.dll
Addr:535F4C43 hint(0000) Name: DirectInputCreateW
................................



So QuakeDC seems NOT to import/use:

-timer.dll
-maple.dll
-icm.dll


i've looked inside them to find out their functions. my results:

timer.dll => has commands like HalMapInterrupt, IoDeleteDevice,WDMDriver which QDC seems not to use
maple.dll => mentions core.dll, Platutil.dll and similar commands like IoDeleteDevice, seems needless for me (btw there's a mapledev.dll)
icm.dll => interesting lines: ICOPEN Sec not setup, ICDecompress, ICSendMessage, Installable compressors....


I'm not a coder so I can't exactly say what these commands are for but the fact is:
QuakeDC worked without these files and I could create savegames too(Joymenu).

What do you think?
Create your own Dreamcast games using the Quake-Engine:
http://quakedev.dcemulation.org/develop/getstarted.htm
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has thanked: 0
Been thanked: 1 time

Post by BlackAura »

Interesting... Make sure that you've got all the DLLs that QuakeDC uses, and all the DLLs that the DLLs use.
Moi
QuakeDev Respected
QuakeDev Respected
Posts: 592
Joined: Thu Mar 14, 2002 1:15 am
Has thanked: 0
Been thanked: 6 times

Post by Moi »

As I said before: i could run QuakeDC without any problems. Everything run prefectly I could create savegame and Quake didnt seem to need any of the files. Anyways I will look for possible dependency between the other dlls.
Create your own Dreamcast games using the Quake-Engine:
http://quakedev.dcemulation.org/develop/getstarted.htm
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

Don't forget to test CD audio...
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
Moi
QuakeDev Respected
QuakeDev Respected
Posts: 592
Joined: Thu Mar 14, 2002 1:15 am
Has thanked: 0
Been thanked: 6 times

Post by Moi »

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
Create your own Dreamcast games using the Quake-Engine:
http://quakedev.dcemulation.org/develop/getstarted.htm
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

Hmm.... Moi, is it possible to reassembly the disassembled MIDWAY_1.EXE?

I'm thinking if it's possible to disassembly it, change the value of the maxplayers then reassembly it again.

Also I have some other ideas you could try...
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
Moi
QuakeDev Respected
QuakeDev Respected
Posts: 592
Joined: Thu Mar 14, 2002 1:15 am
Has thanked: 0
Been thanked: 6 times

Post by Moi »

WINDASM32 is a disassembler for WIN32 it can't fully disassemble WiNCE
stuff it can only show you some imported functions. May be it is possible if you are using a disassembler for WINCE. I've already been searching for WinCE disassemblers I found one but it only works under real WinCE environment.
I'm thinking if it's possible to disassembly it, change the value of the maxplayers then reassembly it again.
I'dont know I havent done anything like that. My assembler experience is
to change JNE to NOP :wink:
Create your own Dreamcast games using the Quake-Engine:
http://quakedev.dcemulation.org/develop/getstarted.htm
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

I want to put a release of QDC in my site, containing the following:

:arrow: 0GDTEX.PVR (made by me)
:arrow: IP.BIN
:arrow: 1STREAD.BIN
:arrow: MIDWAY_1.EXE (my latest edited version)
:arrow: QUAKEDC.TXT (the Titanium's readme text posted in this forum a long time ago)
:arrow: README.TXT (a mix of Moi's and TDA's readme files, with some changes and additions by me)
:arrow: TECHINFO.TXT (again, a mix of Moi's and TDA's readme files, with some additions by me)
:arrow: CONSOLE.TXT (complete list of console commands for QuakeDC, also mentioning the commands that doesn't work in QuakeDC)
:arrow: WINCE\DDRAW.DLL (Moi version)
:arrow: WINCE\DINPUTX.DLL (Moi version)
:arrow: WINCE\DSOUND.DLL (Moi version)
:arrow: WINCE\MAPLEDEV.DLL (Moi version)
:arrow: WINCE\PLATUTIL.DLL (Moi version)
:arrow: ID1\PAK1.PAK (containing only a quakedc.dat file required for the engine to run)

I'll probably put all the text files into a DOCS\ folder.

This release won't require the full version of Quake to run mods, it'll only need the included PAK1.PAK. In the case you want to use it with the PAK1.PAK from the full version of Quake, you just need to renumber the included PAK1.PAK to anything else.

Note: The quakedc.dat included in my PAK1.PAK doesn't contain any copyrighted data. It's just a lot of X's.

But... I just downloaded the TDA's release, and I found this in the readme_TDA.txt:
Distribution should only be done from DCemulation.com and its affiliates. This will allow DCemu to stop all distribution if Titanium Studios or Id Software contact us with those instructions. Please respect us and those companys and do NOT distribute this from any other source.
So, does this means that I can't distribute it in my website? :|
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has thanked: 0
Been thanked: 1 time

Post by BlackAura »

You could put it up, don't link to it, and give the URL to someone who can transfer it over to here or, more likely, QuakeDev. Or, you could pull it down if it's ever removed from here, I suppose. I don't suppose TDA is anywhere around here still, is he?
Moi
QuakeDev Respected
QuakeDev Respected
Posts: 592
Joined: Thu Mar 14, 2002 1:15 am
Has thanked: 0
Been thanked: 6 times

Post by Moi »

I remember that the QDC destribution on dcemulation.org didnt have that text...

I guess the text in TDA's release is outdated, because the companies arent against QDC. I dont think TDA will do anything against your release... But who knows you better ask him.
Create your own Dreamcast games using the Quake-Engine:
http://quakedev.dcemulation.org/develop/getstarted.htm
ShadowofBob
ShadowOfBob
ShadowOfBob
Posts: 1203
Joined: Tue Mar 12, 2002 6:04 pm
Location: Boulder, CO
Has thanked: 0
Been thanked: 0

Post by ShadowofBob »

I don't think that the TDA readme really matters considering that it was illegally released in the first place. Will CDDA Music work with this? And if so how exactly would I go about setting up the disc so it will have CD music?
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

I'll test the CDDA music before releasing it. There's a guy who sent me a selfboot kit he made to create selfboot QuakeDC discs with CDDA music, I'll put it in my site too.

But if you don't care about using the Utopia boot disc, you can use my tutorial for non-selfboot discs with CDDA music.

Also, I think I can change the names of the D3D_ cvars to GL_, so these cvars will have the same name they have in GLQuake. Maybe this can increase compatibility with PC mods.

The currently released versions of JoyMenu would have a few problems with the D3D_ cvars renamed to GL_, but I'm working in a new version anyway. I only hope I can finish it, because it became a monster (its PAK2.PAK is about 20 MB now). I guess I'll upload a few screenshots...
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
TheDumbAss
QuakeDev Mod
QuakeDev Mod
Posts: 1233
Joined: Wed Oct 17, 2001 7:44 pm
Location: Indpls, IN USA
Has thanked: 0
Been thanked: 0
Contact:

Post by TheDumbAss »

I'm not dead.... just internet challanged.
Been using my cellphone as a modem since march when the home phone was canceled do to some (now permenant) family issues. I've not gotten a new phone line in my name or cable interent since then do to the uncertainty of the situation. Now I'm in the processes of preparing to move about a mile away to live with a friend. Hopefully I can talk him and/or the others in the house into shareing the cost of cable interent... since they have no land line phone currently either. Cable will make my gamer friend/roomate very very happy (since he'll get access to my xbox and ps2 with network adaptor as well) and will allow me to be online more and do some much needed work to websites and up/download many things that are needed for said sites quicker than my 14.4k cellphone can handle.

My new work schedule (and the fact I worked a bunch of overtime lately) has also kept me from being able to visit as much as I was just a month ago... (still was not daily like it used to be)

As far as my readme goes... It is outdated but it is also MUCH newer than 007's readme. The stuff was in there so that if anyone did ask DCEmu to pull QuakeDC from the site then all the DCEmu related distributions could easily be pulled from affilated sites as well. We all know nobody seems to have a problem with us having and distributing it (as long as its not with the full version pak files) but I just threw all that stuff in there to cover our asses (mine and dcemu's as a whole) Did I really expect anyone to read it close enough and respect me enough to have an issue with it? Not really.

so... Fragger go right ahead and put up your distribution... when I get a chance I'll probibly mirror it on edgenetwork's edgefiles for you. Though admittedly it may take me awhile... Your site may as well be considered an affiliate now anyway ;) Its deffenately more up to date than the 'official' site here. *kicks himself*

When I get back online I'll re mirror everything I got on edgenetwork on quakedev and fix up that site a bit (so it doesnt show its age so much) and interlink it to my 'new' site a lot. I perfer to do my uploads to edgenetwork right now though because their servers automaticly mirror eachother and have better bandwidth.

As for Fragger's idea to change the cvars from D3D_ to GL_... I kinda like it. Might be a good idea to leave a couple of the junky ones that dont really work as D3D_ though so that people creating mods can do a QuakeDC engine check. Set it to something within the mod cvar(D3D_blah) then check to see if it actually took... if it did take then it is either QuakeDC or the rarely used D3DQuake engine for PC... if it didnt then its either a GL engine, software, or another port.

And... A 20MB JOYMENU???? thats a lot more than a simple menu now isnt it??? hehe
/me is insterested in seeing what all he's added/changed.
My old Sig was broken. Enter the new Sig!
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

We can use the cd_enable cvar to do the QuakeDC check.

I probably could have released my QuakeDC version this past week, but I killed my PC's motherboard with a wrong BIOS update, and I'll get another motherboard this week (fingers crossed).

I added skin support for the bots, and it worked well along with .wav music in the original deathmatch maps. But I'm thinking in reducing the maximum amount of bots from 15 to 11, so I can use less 4 skins in the player model, to save some memory for bigger maps.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
Post Reply