
jumper
MemberContent Type
Profiles
Forums
Events
Everything posted by jumper
-
This modified version of CDFS.VXD appears to be based upon the Win95 driver: Version: 4.00.1030 Description: CDFS Virtual Device (Version 4.0) Copyright: Copyright © Microsoft Corp. 1988-1995 Several years ago I tried it on two of my 98FE systems. It did do quite nicely what it claims (WAV files for all audio tracks), but prevented me from reading some of my important CDR's. Removing this driver and restoring the 98FE version allowed me to read my CDR's on both systems again. I vote: (or make it optional with a caveat in the description.)
-
In Win98se, Windows\System\SETUPAPI.DLL imports CM_Locate_DevNodeA from CFGMGR32.DLL. Win2k/XP+ use the Unicode version: CM_Locate_DevNodeW. Either your Windows\System\SETUPAPI.DLL has been overwritten with an NT version, or (more likely) the device driver's installer has the NT version packaged with or inside it. Delete the NT version and this error should go away. Any other DLL's that are packaged with the driver that also exist in Windows\System will likely also need to be deleted. Edit: Alas, it's not that simple. It seems that in XP, SETUPAPI.DLL exports both CM_Locate_DevNodeA and CM_Locate_DevNodeW and forwards the calls to CFGMGR32.DLL. In SE, SETUPAPI.DLL doesn't provide that service--apps must link directly to CFGMGR32.DLL for those functions. It should be easy to mod KernelEx to do the forwarding, but KernelEx is no longer being developed. And there are probably other NT dependencies lurking just behind this first error message.... If you could post the installer filename and size, plus the version strings from the Properties sheet, I'll try to find it online and analyse the dependencies needed to get the it to run. (FCC / UPC numbers would also be great!)
-
Wow! IE6.0 full is both at oldapps and oldversion! I've used both sites before--must have been wanting 5.01 (which they don't have) when I looked. And I see now that evolt has all versions from 1.0 through 6.0sp1 (plus some SDK's). RP9 needs IE6 to function correctly, so both upgrades are now on my ToDo list. Thanks, dencorso!
-
My system: VIA C3 Ezra "Gigapro" @ 735MHz (MMX, 3DNow!) 256MB SDRAM Win98SE My browsers: Firefox 2.0.0.20 AdBlock Plus 1.0.2 + Element Hiding Helper 1.0.5 QuickJava - Java and JavaScript enable buttons Opera 10.63 for reading Twitter too many annoyances for everyday use Off By One 3.5.d - overview jaw-dropping fast, even on slow machines simple tabbed interface and options are very easy to use doesn't suffer from "Stop script" errors because it doesn't support JavaScript! layout is HTML 3.2+frames only--no style sheets. great for news sites with bloated layouts and forums Internet Explorer 5.0 Win98se default useful for JavaScript compatibility testing can't find the 5.0.1 update needed by some software installers can't find unbranded IE 6.0 (only updates!) Has anyone tried Pale Moon 2.0.0.20? It should be just like Firefox, only faster.
-
VLC 1.1.x on a P2 (or similar) with KernelEx and FineSSE
jumper replied to jds's topic in Windows 9x Member Projects
finesse29.exe FineSSE 29 features: Multiple modes of process creation and attachment:JIT debugging using Process Id and Event handle (as before, DOTP) attach to running process using Process Id (DOTP) create process in debug mode (DP, DOTP) create process in normal mode with immediate or delayed debug attachment (DOTP) [DOTP=Debug Only This Process, DP=Debug(this and child)Process(es)] [*]Verbose listing now includes all Debugging API messages [*]Listbox log can be moved / resized / maximized [*]Logfile can be created (up to 99) in FineSSE folder Sample log files: FineSSE-JIT.log.txt FineSSE-DP.log.txt Command line options: /* Logging options: */ -lb display listbox log -lf output to logfile -lbf listbox and logfile (default if 'v' and not 'lb' nor 'lf') -v verbose listing /* Just-In-Time debugging options (WIN.INI): */ -p %u Process Id placeholder -e %u JIT event handle placeholder /* Attach to running process option: */ -p <decimal> Process Id /* New-process creation options: */ -o create process in DOTP mode -a create process in normal mode, then attach immediately -a<ms> create, then Sleep <ms> milliseconds before attaching <filename> create process from filename (must be last parameter; quoted if containing spaces) /* [...Examples coming soon...] */ -
VLC 1.1.x on a P2 (or similar) with KernelEx and FineSSE
jumper replied to jds's topic in Windows 9x Member Projects
Excellent discovery! Since reading your post yesterday, I've being struggling with how best to respond even as I ready FineSSE29 for release. I see three main issues: getting VLC to run on Win9x solving the illegal instructions / cpu compatibility problem solving the KernelEx / FineSSE compatibility problem Possible solutions: KernelEx is the easy solution here. Porting the source code (maybe just the qt4 interface) is the hard way. The [main] section of the large config file has cpu extension flags, but disabling them seemed to have no affect. FineSSE can handle many of the instructions, but needs more work. The VLC exception handler could be modified to punt illegal instructions to the system. We start debugging! I did get VLC1.1.9 to run to the point where the JPEG plugin would execute an illegal instruction that FineSSE doesn't yet support, so I can start work on (2b). Now for some (3b) details. I tweaked FineSSE to allow it to attach to a running process. Using TaskInfo2000 (a process viewer), I can right-click on a process and select "debug". Once I get FineSSE29 posted, you will be able to launch VLC normally and then attach FineSSE to it after the window and menus are initialized. Unfortunately, my C3 chokes on the CMOVs and FUCOMIPs used by the UI. I have to use FineSSE to launch VLC: FineSSE+vlc.log.zip You can help: To determine if the window and menu problems are unique to FineSSE, try running VLC inside another debugger such as VisualStudio. I also found that if ddhelp.exe is loaded with different KernelEx compatibility options than VLC, I get an Access Violation at 8XXXXXXX. This could be a huge problem if two media apps that require different KernelEx options are run at the same time! -
VLC 1.1.9 has an internal error handler that often quietly terminates the app when an illegal instruction is encountered. It reports the error as "handled" rather than passing it to the system default handler for debugging. To enable FineSSE to have the first chance to handle the errors, launch VLC by dropping it onto FineSSE. Or do as I did and modify the VLC desktop shortcut target to be: "C:\finesse.exe" -v "C:\Program Files\VideoLAN\VLC\vlc.exe" Answer "No" if asked to send a bug report. I have KernelEx 4.5.1 installed. VLC 1.1.9 will launch on my VIA C3 but opens off-screen. After moving it back on-screen (every time!), the menus don't open. I'll try VLC 1.1.10 soon. -jumper
-
Hello Charles, >I run an Intel P III (Katmai) with MMX and SSE supported (but not SSE 2, SSE 3, ...). >Does FineSSE will still be able to handle some specific Illegal Instructions, or is it useless in such case? FineSSE does not currently handle any instructions that would cause an error on a PIII. If you encounter an Illegal Instruction error, please send me the details and I'll see if I can add the support. >BTW, when we use it with Win.ini, do we still have to add "-v" at the end of the 'Debugger' line? No. FineSSE without "-v" will run silently in the background. With it, FineSSE will display an output window and fill it with a list of the patches it makes. -jumper
-
I installed GOM 2.1.28.5039, but it didn't like my system. Lots of systems freezes where Ctrl-Alt-Del wouldn't even respond. Performance worse than MediaPlayer2 when it did work. Some Access Violations, but no Illegal Instructions. This C3 system is the only one I have still running that doesn't support CMOV, so I won't be able to test GOM. But it just occurred to me that I can add a gratuitious CMOV to the inner loop of one of my own apps for performance testing. Right. Also, if the CMOV is near the start or end of a procedure, there might be five free bytes for a far jump within range of a near jump (2 bytes). A string of CMOVs would be the easiest to parse and would also yield the best performance. Ideally the upper word of the far jump address would also form an illegal instruction or breakpoint in case it is a target address itself. I'd love to study all or part of this log if you want to email it to me. I'd have a better idea of what instruction sequences to target first.
-
Thanks for testing GOM with both P6CPU.VXD and FineSSE, rloew. I suspected that P6CPU.VXD would handle GOM's cmov errors with better performance than FineSSE. GOM is now the first program I know of that uses cmov in a performance loop, so it will be an important test for us. I will install it and see if I can modify FineSSE to patch, rather than emulate any critical cmov intructions.
-
Yes. If you add these lines to your Win9x WIN.INI, FineSSE will auto-launch whenever any app or plugin has a debug-able error. No. (Unless the app or plugin does some now-useless II exception handling that you would like to avoid, like Flash 9 r289.) FineSSE should launch automatically when needed by plugins and other sub-processes. However, you can also drop your browser's executable onto FineSSE to avoid built-in II handling the likes of "An error has been encountered, you should reboot your computer." Only if the error you are encountering is an Illegal Instruction. FineSSE was designed to solve the most common Illegal Instruction errors I've seen reported on major forums. I expect to continue updating it as new II errors are reported.
-
EIP = 69852be2 Bytes at CS:EIP: 89 82 94 00 00 00 8B 93 60 02 00 00 83 FA 08 7Fand Patch Log: 69852BD6:0F 48 C2 8B 54 24 60 C1:CMOV3 =>79 02 8B C2 E9 E0 1B 45 show that the AV does follow closely after the II patch and both use the edx register: [edit] 69852BD6 - 0f 48 c2 - cmovs eax, edx ;often confusingly reported as: cmovs %edx, %eax [/edit] ... 69852BE2 - 89 82 94 00 00 00 - mov [edx+00000094], eax CMOV3 indicates the cmovs is properly detected as a three-byte instruction. [edit] "cmovs eax, edx" should be emulated as: 79 02 jns After 8B C2 mov eax, edx After: E9 .. .. .. .. jmp 69852BD9 FineSSE is emulating this correctly [/edit] Agreed. A screen capture would have been acceptable, but on-the-clipboard is best!
-
It appears that FineSSE handled one illegal instruction before the access violation. FineSSE does not currently address access violations, thus the error report. To determine if the access violation occurred because of a bad patch of the illegal instruction (known to happen in early versions), we need to know more about the patch. Fortunately, several days ago I rev'ed FineSSE, adding a "-v" option to reenable a debug window I was using during development: finesse23.exe Add the -v option to the FineSSE command line in WIN.INI (or the equivalent to the registry), no restart required!: [AeDebug] Auto=1 Debugger=C:\Program Files\finesse23.exe -p %u -e %u -v Please enable -v in the new version, retest, and post the text of the Patch Log. Thanks.
-
Great!...however if might be due to the latest KernelEx instead of FineSSE (see overlapping post above). For IE, you probably need a separate installer. Check the Flash download pages again: http://get.adobe.com/flashplayer/ http://get.adobe.com/flashplayer/otherversions/ The Adobe site recommends doing an uninstall of any old version and reboot before installing new software: http://kb2.adobe.com/cps/142/tn_14266.html I seem to recall that Shockwave 11 uses Flash 10. If Firefox is reporting Flash as version 10, that would be correct.
-
I seem to recall that Shockwave 11 uses Flash 10. Now that you have the latest Flash 10 working with the latest KernelEx, I think Shockwave 11 will now work. If it doesn't, please try it with FineSSE and report the results. FineSSE helps when: an error message includes the words "Illegal Instruction" a program uses Structured Error (SEH) / exception handling to hide an illegal instruction error from the user KernelEx often helps when an error message mentions: the Windows OS version a DLL or linking or missing
-
The Athlon is a great processor to use FineSSE with. It is fast and has full MMX and (I believe) CMOV support, so only FCOMI and FUCOMI instructions would need emulation. The easiest way to test FineSSE is to put finesse.exe (or a link to it) in your SendTo folder. The next time an app crashes with an Illegal Instruction error, note the executable's name and location. Then Explore to that location, right-click on the executable, and SendTo finesse.exe. The app will launch normally. Do whatever you did before; this time there should be no crash. You can also put finesse.exe (or a link to it) on your desktop and drag an executable onto it there.
-
There have been some reports that Flash 10 still has problems with some content. Hopefully Adobe now has those fixed for all MMX cpus. FineSSE uses 386-compatible code for most of the patches and emulation, but some MMX instructions are used. Because programs that use SSE instructions will also likely use MMX instructions, I've set MMX support as the minimum processor level. Any processor that supports the full, original MMX instruction set should benefit from FineSSE. (Actually any 32-bit processor should benefit--FineSSE only trys to help if there is already a fatal error!) CMOV and Prefetch instructions are not SSE instructions, but FineSSE handles them simply because on many MMX-capable cpus they need to be handled and can be handled. I have no problem with (attempting) to add support for any Illegal Instruction issues that users report. If anyone finds an Illegal Instruction error in any app while using FineSSE, please report it to this thread. The error details will be on the clipboard for easy pasting! After some discussion here of how best to patch or emulate the problem, I'll update FineSSE to handle it.
-
Hello everyone, I have a 735MHz VIA C3 Ezra running Win98se. Flash 9 r47 just wasn't enough anymore, so I've been working on a Just-In-Time debugger to handle the various Illegal Instruction exceptions I've been encountering with more recent builds of Flash 9 and other apps. Since the goal of this debugger is to put an end to SSE issues on older cpus, I've optimistically named it FineSSE: finesse.exe finesse27a.exe (04Jun2011, least unstable) finesse29.exe (12.5K) (16Jul2011, usage) FineSSE will patch or emulate all illegal instructions mentioned in this thread or its references: PSHUFW is patched according to the Adobe Flash references MOVNT instructions are patched to become standard MOV's FENCE and Prefetch instructions are NOP'd CMOV, FCOMI, and FUCOMI instructions are emulated FineSSE can be launched by dropping the app to be debugged onto it (or on the command line). This method of testing does not require a restart after download. FineSSE is installed as a Just-in-time Debugger by adding these lines to WIN.INI (or the equivalent to the registry), followed by a restart: [AeDebug] Auto=1 Debugger=C:\Program Files\finesse.exe -p %u -e %u If you already have a debugger installed, rename it to "Debugger2" and in the near future FineSSE will pass on exceptions it can't handle: Debugger2=C:\Program Files\DevStudio\SharedIDE\BIN\msdev.exe -p %ld -e %ld FineSSE is a Win32 app and a work in-progress. It should work on Win95-WinXP, but I've only tested it on Win98se thus far. The patches and emulation code are designed to be PentiumMMX-compatible, but testing has been limited to my VIA C3. Testing feedback for other CPU/OS combos would be great. Hopefully FineSSE will fix the problems jds was having with JPEG2YUV and MPEGENC in mjpeg tools. Apps tested on my C3: Flash 9 r289 works, so content requiring r115 now works! Over a dozen problem builds of FFmpeg now work great. no more illegal instructions [edit]rarely[/edit] seen in anything.