Content Type
Profiles
Forums
Events
Everything posted by jds
-
No worries, your English is usually exemplary (if I were more proficient in Portuguese, I might have figured out what you meant). Anyway, what is it in 'smwdmVI3.inf' which makes it different, "never unloaded"? I looked at the INF file, which is somewhat large and complex, but couldn't figure it out. Also, what advantage does this bring? Joe.
-
Sounds like a very good idea. If KernelEx is made extensible, with a simple build environment for the code modules, I'm sure it will progress rapidly. Joe.
-
Yeah, I get the same thing. The downloaded SYS file has the following version string : 6.0.5435.0 (vbl_ux_nisd_gamesux(mmbuild).060601-1414) From Quick View, we get : Linker Version: 8.00 Operating System Version: 6.00 Image Version: 6.00 Subsystem Version: 6.00 So despite the description at the MS download page, this SYS file looks to be for Vista, not XP. I don't know the compatiility of Vista drivers on XP. However, for Vista, the "recommended" driver model is "Kernel Mode", whereas what we're interested in is "Windows Driver Model", which is (98)/2000/XP. I don't know what the actual difference is between the two driver models, but suspect this is what is confusing/crashing 'WdmCheck'. Hmmm ... so it seems we can't rely on the version number when looking at different builds of 'WdmStub'. Anyway, can you please explain what you mean by "one has to identify a suitable dispositive in one's machine and modify the apropriated inf. by hand"? I can't quite figure it out. I figure "apropriated" should probably be "appropriate", but "dispositive" is a very obscure word (and I was none the wiser after looking it up). Joe.
-
Thanks, Den! You've saved a lot of confusion and head-scratching over that subtle little error. And the real-world samples are not only instructive, they also give encouragement that this stuff can really work! Joe.
-
It means that I need install all components of SP3 except USB component? No what it means is that USB install as a part of main updates. After installation of main updates follow the instructions in the USB 2.0 notice. I presume that if I'm happy with my current USB drivers, I can simply leave them installed and the SP3 won't affect their operation? In other words, if I choose to uninstall my existing USB drivers, then NUSB will take over, otherwise NUSB will only affect new USB devices? Thanks LoneCrusader! I've always meant to dig into the details of this icon issue, but there's always been more important things to do. Now I have the answer! BTW, great work PROBLEMCHYLD! Nobody's blaming you for the icons, it's been an annoyance (to some) for a long time, way before you took charge. Joe.
-
Thanks Den! I wasn't aware there was both a production and a debug build of 'wdmstub.sys'. Well, I may as well try the production build (unless some debugging is needed, in which case, I'd have to learn how to do such debugging). There's probably also some "strip" tool available in VS that can convert debug builds into something equivalent to a production build, but I haven't checked. Useful for shrinking larger binaries. Joe.
-
One question that regularly arises here, is whether something like KernelEx exists for drivers (or indeed, whether KernelEx can help with driver compatibility). Occasionally, 'WdmStub' is mentioned as a possibility, eg. by dencorso here : I can't confirm how successful 'WdmStub' is in this regard, but I have found some useful information about it for anyone wishing to try it. Now, 'WdmStub' is a "sample/example" filter driver that was/is included in Walter Oney's book, "Programming the Microsoft Windows Driver Model". Note that 'WdmStub' was originally written as a VXD driver, and you can find a link to this version at the Internet Archive, as posted by dencorso here : For the current version of 'WdmStub', you can obtain just the SYS file (and a few associated files that you can discard, however, you should keep 'wdmcheck.exe') as follows : 1. Create a directory structure "Something\AppendixA\Newstub\objchk_wxp_x86\i386" 2. Download 'wdmbook2_3.exe' from : http://web.archive.org/web/20111221045614/http://www.oneysoft.com/newpack.htm 3. Run 'wdmbook2_3.exe' and point it at the "Something" directory 4. Click through all the error messages due to missing paths BTW, the licensing of 'WdmStub' basically says that you need to ask Walter Oney for permission to redistribute it and that he will grant this subject to some non-monetary conditions to ensure the quality of the end result. OK, now that you have 'WdmStub.sys', how to use it? Basically, you need to edit the INF file for the driver you are trying to install, identify the section that is invoked by the "AddReg=" directive, and add the following line to that section : HKR,,NTMPDriver,,"wdmstub.sys,yourdvr.sys" (where 'yourdvr.sys' is the name of the driver binary that needs assistance). You also need to add 'wdmstub.sys' to the section invoked by the "CopyFiles=" directive or manually pre-copy it to the same destination directory as "yourdvr.sys" (possibly "c:\windows\system32\drivers"). Finally, for the technically minded, you can obtain all the contents of the companion CD to Walter Oney's book, except stuff restricted by licensing conditions, as follows: 1. Download '9780735618039_files.zip' via the "Download Example Code" link at : http://shop.oreilly.com/product/9780735618039.do 2. Download 'wdmbook2.exe' (despite its name, this is the "cumulative service pack 3" update) via : http://web.archive.org/web/20111221045614/http://www.oneysoft.com/newpack.htm 3. Unzip "9780735618039_files" and apply the "wdmbook2" update to the "Samples" subdirectory. Notes : 1. The '9780735618039_files.zip' file is huge because it also includes IE6SP1! 2. When you apply the updates, you will encounter an error due to a missing path "objchk"; create it by duplicating the corresponding "objchk_wxp_x86" directory and re-apply the update. 3. If you don't want to download the huge ZIP file, you can select what you want via O'Reilly Media's german site at : http://examples.oreilly.de/english_examples/9780735618039/cd_contents/ (excepting 'ServicePack.htm', 'wdmbook.htm' and 'wdmwiz.awx', which can be obtained from the 'wdmbook2.exe' or 'wdmbook2_3.exe' updates). 4. If you need to add more stubs or implement more functions in "WdmStub", Walter Oney requests that you contact him about including them in the official release. Additional references/resources : 1. Links to Windows Driver Model articles 2. Driver compatibility issues for W9X 3. minf - minimize an INF file 4. New licensing conditions 5. WdmCheck info. and download link (also see update packs above) Joe. Edits : 1. Minor corrections and details added. 2. Corrected syntax error (extra comma), as identified here. 3. Added "Additional references/resources" section. 4. Added link to new licensing conditions. 5. Changed OneySoft links to Internet Archive copies (Walter has retired). 6. Added link for WdmCheck.
-
Well, the plot thickens! I re-read the above page from Symantec, this time paying attention to the irrelevant section about how to disable CAB and RAR scanning, and learnt that the DLL responsible for "decomposing" RAR files is called 'Dec2RAR.dll' and that the file 'Dec3.cfg' specifies which "decomposers" are enabled. It was no surprise to find that the file 'Dec2RAR.dll' was missing from my SAV9 installation, and that of course, it wasn't listed in the 'Dec3.cfg' configuration file. What was surprising however, was that a version of 'Dec2RAR.dll' is actually included in the SAV9 installation package, at least as far back as version 9.0.0.338 (as file 'Dec2RAR.dll.007A9270_AFB4_4E86_AD37_A139D0C95AB2', within 'SAV\Data1.cab')! So the capability to scan RAR files does seem to exist even in fairly old versions of SAV9, yet it never seems to get installed. The relevant DLL is never extracted during the installation, and the configuration file doesn't refer to it. Unfortunately, trying to remedy this situation manually, by extracting the DLL and editing the configuration file, wasn't successful. SAV still failed to scan a RAR file I had prepared for it with the EICAR signature file within. I guess there's some registry stuff that must also be required to enable this missing capability. BTW, the 'Dec3Update9.exe' update that's given in the above web page refuses to run even with the help of KernelEx. After trying several options, I was finally able to extract its contents with the help of "Resource Hacker" (well recommended). By checking the extracted binaries via "Windows Explorer - Properties - Version - Original Filename", I now had 16 (correctly named) DLL files. However, they were not exactly the list given by Symantec, instead, there was a new version of 'rec2.dll' and no updated 'dec2rar.dll'. But that would be just "icing on the cake". No point worrying about an updated version of 'dec2rar.dll' if I can't convince SAV9 to use it, anyway! Joe. PS. Well, I've managed to find the missing 'Dec2RAR.dll' file (and the other associated v3.02.14.26 DLL's) that's supposed to be within 'Dec3Update9.exe', in a rather unexpected location : ftp://ftp.symantec.com/public/deutsch/produkten/symantec_antivirus/symantec_antivirus_corp/10.1/updates/SAVCE_10.1.5.5010_Win64_GE.zip (Using 7-Zip, extract via the path 'SAVCE_10.1.5.5010_Win64_GE.msp' -> 'PCW_CAB_SAV' -> 'Dec2RAR.dll.007A9270_AFB4_4E86_AD37_A139D0C95AB2')
-
ImportPatcher.41 - Find and fix dependency problems
jds replied to jumper's topic in Windows 9x Member Projects
jumper, loblo, Thanks for the input, I do need to understand KernelEx in more detail when looking into practical use of IP. As regards 'msi.dll', I was just checking to see if this could be adapted to W9X, for the purpose of processing the main MSI file from LibreOffice 3.4.5. However, from what I've learnt from Joe of JSWare, the problem may be more fundamental than 'msi.dll'. Apparently MSI files are structured like a file system, known as Microsoft Compound Document File Format and, unlike every other MSI file I've got lying around, the LibreOffice one uses 4K sectors instead of 512 byte sectors. Now as far as the NtQueryInformationProcess function used by the v3 'msi.dll', frankly this doesn't sound like a legitimate need of 'msi.dll', especially as v2 doesn't need such a thing. Hence, a dummy function may be sufficient, IMHO. But it's all too hard at the moment. I'll have to look at some way to convert 4K-sector MSI files into 512-byte sectors, if/when time permits. Joe. -
ImportPatcher.41 - Find and fix dependency problems
jds replied to jumper's topic in Windows 9x Member Projects
I would open the file and map it as an array of dwords (using an existing function). If the data was presorted, a simple binary search would quickly find the count. Otherwise you're right, 73KB would still be too big for the PrivateProflle functions: Each line in an INI file would need one byte for the '=', one byte for the count, and one byte for the EOL marker. That leaves less than one byte for the name/hash/crc string! We might be able to get to 24 bits if we can: get below 16k functions by removing those with the most common count (1 or 2 maybe?); that count would become the default for functions not found group functions into sections and reclaim the '=' and <count> bytes. Early versions of ImportPatcher could batch process multiple files. When I added INI support, I found SE wasn't letting me access multiple PrivateProfile INI files. Once I picked one, I had to stick with it. So I dropped batch processing. Unless I can figure out how to easily work around this issue, even a single INI (in addition to the main #.ini) might not be an option. Perhaps this is the point at which this potential feature exceeds the pain threshold? Since we have a nice big list for reference, we can look this up ourselves anyway, no big deal. The only other idea I've had, is that for IP's purposes, only those functions that don't exist in W9X are needed. So we can have a full list for reference, and an abridged list used by IP. I don't think NtQueryInformationProcess can be static linked to--no import library for it. Though for completeness, a good idea to add it. Thanks. OK, now I'm confused. Here's the INI file for 'msi.dll' version 3.0.3790.2180 : There's obviously something here I'm not quite understanding. Joe. -
Yes it is off-topic (my apologies), so I'll make this brief ... Firstly, should you find yourself with about US$3 to spare, at least one of the vendors on eBay offers "Free shipping - Romania - Standard Int'l Shipping" for this item. As regards the BIOS limitations, yes, the 32GB limitation on most (but not all) Award 4.51PG BIOS's is a nasty one. Since the SATA adaptor I have doesn't provide a "32GB clip" option, your solution to using a modern HDD is to configure such a 32G limit using Seagate's "SeaTools for DOS" utility (the Windoze version doesn't give you this capability). Do this on a machine that doesn't have the 32GB bug, then transfer it to the afflicted machine. For the earlier "528MB" limit, you used to be able to download OEM versions of OnTrack's Disk Manager 9.X (or similar alternative DDO's) for free from Seagate, Maxtor, etc. This lets you reach at least 7.8GB (I don't remember if you could go higher). The OnTrack DDO used about 5K of conventional RAM and didn't affect HDD performance. Joe.
-
ImportPatcher.41 - Find and fix dependency problems
jds replied to jumper's topic in Windows 9x Member Projects
Here is the aforementioned INI file with 18301 API parameters counts: APIParameterCounts.zip Last week I did try accessing it from IP using GetPrivateProfileString and it worked great--the first 64KB that is. The other 406KB - 64KB can't be accessed that way. I converted it to a REG file, hoping to be able to access it from the transient portion of the registry with RegQueryValue, but REG files can only add to the on-disk keys and that also takes several minutes. The current plan is to do a quick 27-bit hash or crc on the function names to reduce the data size (27+5 for the [0..23] count = 32). Or I might just split the data over seven INI files. If I understand you correctly, the 27-bit hash will shrink the INI file down to 73K at best, so that's not going to do the trick (by itself). However, seven or more INI files would work, and be easier to edit : NtQueryInformationProcess=5 (from 'ntdll.dll') --- now it's 18302 entries! Joe. -
Go to eBay, search for "PATA IDE TO SATA Converter Adapter For 3.5 HDD DVD" and sort by price. You should be able to get a neat little adaptor for about $3 including postage, which will convert a 3.5" SATA drive into IDE/ATA. Although the chipset on the adaptor supports Master and Slave drive configurations, you will probably find (like I did) that the PCB is hard-wired for the Master configuration only (in other words, you can't put two of these adaptors on the same IDE/ATA cable). Joe.
-
ImportPatcher.41 - Find and fix dependency problems
jds replied to jumper's topic in Windows 9x Member Projects
I don't have a list. I wrote a tool that extracts the APIs from the header files and helps build source code for the loggers I mentioned above. Jumper, is this something that could be implemented (without too much pain) in a future version of IP? Joe. -
@CahrlesF : I have two vertical lines to the left of the quick-launch toolbar. One acts as a divider, the other as a handle that lets me move the quick-launch icon toolbar around. However, on the right, there is only a vertical divider line, so I cannot move the boundary between the quick-launch toolbar and the taskbar proper. @Drugwash : The COMCTL32.DLL version information is exactly as you've shown (apart from the colour). @LoneCrusader : I got to this point by trying the suggested work-around of disabling and enabling various toolbars prior to giving up and uninstalling RP. That may or may not be relevant. @Drugwash : That registry key was +1, and still existing without RP. I've set it to -1, which has had no effect so far, but I'll experiment some more tomorrow. Update : I've now had a chance to play around with this following the registry change, and there seems no change in behaviour (I'm still missing the extra chevron between the quick-launch toolbar and the taskbar proper). Joe.
-
Hi Den, Sure : D010:0000 A DR=00 OFF=00000000 FLG=FFFFFFFF D010:0096 B DR=01 OFF=00000000 FLG=FFFFFFFF D010:012C C DR=80 OFF=0000003F FLG=00000001 D010:01C2 D DR=81 OFF=0000003F FLG=00000001 D010:0258 E DR=82 OFF=0000003F FLG=00000001 D010:02EE F DR=80 OFF=0000003F FLG=00F30001 D010:0384 G DR=80 OFF=0000003F FLG=01F80001 D010:041A H DR=81 OFF=00638655 FLG=00000001 D010:04B0 I DR=82 OFF=0000003F FLG=028E0001 Curiously, the OFF and FLG entries for drives F, G and I are different with this patch than with the trusty old combined patch. In both cases however, all the drives behave normally and pass a standard SCANDISK test. Joe.
-
Well, Mr Loew, I've just downloaded and this one works properly for me. Joe.
-
Joe, I have tried this but don't find any glitch with Opera and several tabs opened (tested with Opera version 11.60 & version 11.01). Did you try to simply uninstall RP, to be sure that it is the culprit? Charles, Perhaps low system resources could be partly responsible for what I have observed with Opera 11 when I apply Ctrl-Alt-Del with RP installed. However, I hadn't observed this effect prior to RP. Since subjectively, albeit with limited testing, I have not observed improved stability with RP, I have now uninstalled it and instead, am using FreeRAM XP Pro 1.52 (despite its name, it runs on W9X and is freeware) to warn me when system resources are low, allowing me to take appropriate action before things become unstable. (BTW, I have disabled its main feature, to automatically free RAM when it's running low, until I gain some confidence this doesn't produce any side-effects.) Unfortunately however, uninstalling RP does not restore the original taskbar behaviour. Any ideas how to get this back to normal? (I would have persisted longer with RP if not for this unwanted behaviour.) Joe.
-
FreeRAM XP Pro 1.52 (despite what its name suggests, it runs on W9X and is freeware) has a feature similar to what you want. It will pop-up when system resources are below a pre-defined limit and let you close tasks, and prepare for a reboot before things become unstable. BTW, I don't know if its main intended function, to automatically free memory, has any side effects, so I've disabled this feature for now. Joe.
-
Everything looks normal. H: should have worked properly. Were you running my Patched IO.SYS when you ran PARTSX or the working version? Either way, switch to the other one and rerun PARTSX. The above was with the combined (working) patches. With the non-working patch, I get the following : D010:0000 A DR=00 OFF=00000000 FLG=FFFFFFFF D010:0096 B DR=01 OFF=00000000 FLG=FFFFFFFF D010:012C C DR=80 OFF=0000003F FLG=00000001 D010:01C2 D DR=81 OFF=0000003F FLG=00000001 D010:0258 E DR=82 OFF=0000003F FLG=00000001 D010:02EE F DR=80 OFF=0000003F FLG=00F30001 D010:0384 G DR=80 OFF=0000003F FLG=01F80001 D010:041A H DR=81 OFF=00638655 FLG=02FD0001 D010:04B0 I DR=82 OFF=0000003F FLG=028E0001 Joe.
-
OK, here's the output from 'ltools -part' : ****************************************************************************** LTOOLS version V6.12 (C) 1996-2006 Werner.Zimmermann|AT|fht-esslingen.de Compiled with Borland C 5.0 on Apr 27 2006 as 16bit binary Running ldir under Windows V7.10 ****************************************************************************** # LTOOLS infos --------------------------------------------------------------- ##### Disk 128 = /dev/hda : CHS= 788: 255: 63 ----- Bios Int 13h extensions used --- LBA mode # 1 Type:FAT16 >32M 1906MB from CHS= 0: 1: 1 to CHS=242:254:63 bootable secs=3903732 start=63 # 2 Type:DOS ExPar 4267MB from CHS=243: 0: 1 to CHS=786:254:63 secs=8739360 start=3903795 # 5 Type:FAT16 >32M 2047MB from CHS=243: 1: 1 to CHS=503:254:63 secs=4192902 start=3903858 # 6 Type:FAT16 >32M 2047MB from CHS=504: 1: 1 to CHS=764:254:63 secs=4192902 start=8096823 # 7 Type:Linux Swap 172MB from CHS=765: 1: 1 to CHS=786:254:63 secs=353367 start=12289788 # LTOOLS infos --------------------------------------------------------------- ##### Disk 129 = /dev/hdb : CHS=4111: 255: 63 ----- Bios Int 13h extensions used --- LBA mode # 1 Type:FAT16 >32M 1380MB from CHS= 0: 1: 1 to CHS=175:254:63 secs=2827377 start=63 # 2 Type:e7 1804MB from CHS=176: 0: 1 to CHS=405:254:63 secs=3694950 start=2827440 # 3 Type:Win ExPar 25007MB from CHS=406: 0: 1 to CHS=521:254:63 secs=51215220 start=6522390 # 4 Type:Linux EXT2 4000MB from CHS=522: 0: 1 to CHS= 7:254:63 secs=8193150 start=57737610 # 5 Type:Win9x FAT32 25007MB from CHS=406: 1: 1 to CHS=521:254:63 secs=51215157 start=6522453 # LTOOLS infos --------------------------------------------------------------- ##### Disk 130 = /dev/hdc : CHS= 784: 255: 63 ----- Bios Int 13h extensions used --- LBA mode # 1 Type:Win9x FAT32 5130MB from CHS= 0: 1: 1 to CHS=653:254:63 secs=10506447 start=63 # 2 Type:DOS ExPar 1019MB from CHS=654: 0: 1 to CHS=783:254:63 secs=2088450 start=10506510 # 5 Type:FAT16 >32M 1019MB from CHS=654: 1: 1 to CHS=783:254:63 secs=2088387 start=10506573 Partition numbers 1-4 are primary, 5+ are logical volumes in an extended partition. Here's the drive configuration reported by 'fdisk' : Fixed Disk Drive Status Disk Drv Mbytes Free Usage 1 6181 8 100% C: 1906 F: 2047 G: 2047 173 2 32248 55 100% D: 1381 H: 25007 3 6150 100% E: 5130 I: 1020 Finally, here's the output from 'partsx' : D010:0000 A DR=00 OFF=00000000 FLG=FFFFFFFF D010:0096 B DR=01 OFF=00000000 FLG=FFFFFFFF D010:012C C DR=80 OFF=0000003F FLG=00000001 D010:01C2 D DR=81 OFF=0000003F FLG=00000001 D010:0258 E DR=82 OFF=0000003F FLG=00000001 D010:02EE F DR=80 OFF=003B9172 FLG=00000001 D010:0384 G DR=80 OFF=007B8C37 FLG=00000001 D010:041A H DR=81 OFF=00638655 FLG=00000001 D010:04B0 I DR=82 OFF=00A0514D FLG=00000001 Joe.
-
I have updated my PATCHPAR Program to Patch the Unpacked Windows ME IO.SYS as well. You will need to get the Unpacker from my Website. Let me know if it solves your problem. Hi Mr. Loew. Well, I decided to give this a try on my home PC and unfortunately, ran into a problem. My drive H: (in DOS 7.1, without loading the W98SE GUI) produced the following from a DIR command : Volume in drive H is \é)ÞŠ†¥pÊ Directory of H:\ y‹³æ"bx 2Àí 3,273,781,586 06/04/89 11:37 1 file(s) 3,273,781,586 bytes 0 dir(s) 446.52 MB free By contrast, your earlier partial patch together with my favourite two byte patches to IO.SYS produces the following : Volume in drive H is 2-3-FLAKEY Volume Serial Number is 07EA-4466 Directory of H:\ MUSIC <DIR> 14/01/10 0:43 VIDEO <DIR> 14/01/10 1:21 TH99 <DIR> 01/02/10 0:41 CDDA <DIR> 31/03/10 23:03 FTP <DIR> 17/12/10 20:06 CAMERA <DIR> 31/05/11 20:56 TEMPOR~1 <DIR> 01/06/11 23:26 0 file(s) 0 bytes 7 dir(s) 361.72 MB free The physical drive in question has the following partition table entries : 06 FAT16 (Primary) E7 RS (Primary) 0F Extended Partition (LBA) 83 EXT2 (Primary) The extended partition has a single volume (logical drive H:) : 0B FAT32 (LBA by virtue of the extended partition type) All other drives and volumes work OK with either set of patches. Joe.
-
I was researching a problem with Vista, the opposite to this, wherein the CD/DVD drive disappears ... and I came across a KB which describes your particular problem. Of course, now that I want to reference it, I can't find it. Anyway, from what I remember, it said to boot in "safe mode" and delete the invalid entries in device manager. It described how to determine which entries were invalid and which to keep (probably by looking for "this device is operating correctly" status text, but I'm not certain). Hope that's of some help. If I find that KB again, I'll come back here and edit this posting. Joe.
-
Brother Printer Commands for Generic/Text Printer Driver
jds replied to forge13's topic in Windows 9x Member Projects
According to http://welcome.solutions.brother.com/bsc/public_s/id/us/us_ot/en/colormfc/mfcj435w_us/spec/index.html your printer has both a USB and a WiFi interface. So your main problem is to either find a suitable driver for the USB interface, or get a W98SE-compatible WiFi adaptor and set up a network connection to your printer that way. For the former option, I'd search for earlier models of Brother printers with a USB interface, it's possible their USB driver could be compatible (or adapted by adding the appropriate USB ID entry to an INF file). Once the interface issue is resolved, you will find a number of Brother printer drivers come with W98SE, no doubt one or more of these will be compatible with yours. Joe. -
Another problem with RP 9.7.2 ... If I'm running Opera 11 (with the help of KernelEx, of course) and I press Ctrl-Alt-Del, then simply cancel, Opera will be non-responsive, so I'm forced to close it. (I haven't yet tested other KernelEx-assisted applications for the same issue.) BTW, so far I haven't noticed any improvement in stability on the machines where I've installed RP. If anything, stability seems slightly worse (eg. I've observed failure to fully shutdown W98SE, and failure of Symantec Antivirus 9 to load at startup). Joe.