Jump to content

Drugwash

Member
  • Posts

    1,841
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Romania

Everything posted by Drugwash

  1. Uhm... sure... RP7... What if I don't install WLL with RP7? The tests I've performed were using self-patched IO.SYS and COMMAND.COM, withouth the call to the animated bitmap (or the embedded bitmap itself) removed.The idea is to make WLL a bit more wide-range, usable on Win95/98/98SE/ME - all language versions. For this, I need to patch the existing IO.SYS and COMMAND.COM in place, instead of relying on already patched (and English-only) versions of them. And the original animation wouldn't be that bad, in case the new LOGO.SYS is missing. The error message would pop up, the user would acknowledge it but the start process would still have an animation - the old one, but better than a blank screen, IMHO. That's actually a very good idea! It would save the creators the task of converting decimal values to hex and then hunting for hex editors and patching the bitmap. I'll look into creating such tool, but first we need to agree on parameters location, as I'm still not convinced about the non-usage of every fourth byte in the palette.For now I'm still working on protecting the code from insane values. Wasted a few hours because of a stubborn ROL instruction, that worked fine in the debugger but not at all in practice. Had to replace it with SHL. Argh!
  2. Today I gave a spin to the new WLL.COM. Mostly, it works. But... the code as it is, is more like a proof of concept - it has no protection against insane values assigned to progressbar coordinates. Moreover, the buffer is way too small (512 bytes) to fit an insanely large 'bullet' (progressbar). Finally (or maybe not), badly chosen coordinates could place the bullet between video banks and there's no protection agains that either, nor any code to handle the situation correctly. I will try to address these issues as well as I can. The buffer, for one, can theoretically be enlarged to max. 65536 bytes (010000h). According to buffer size, there's a limited size that the bullet can take: progW*progH =< buffsize. For now, I'll limit progH to 102 (66h) to fit in a video bank and progW to 65536/102=642 (8202h) which is insane enough already. I will probably add an extra check so if the bullet position crosses the boundary between video banks, its height will be limited to fit in one of the banks. That's gonna be some nasty code and also useless if I manage to get the drawing routine to draw cross-banks. But that's just wishful thinking, for now. One thing I might have nailed, accidentally, is the hang at startup. I'm not 100% sure of that because it happened to me only after I added in a call to a certain procedure, but for safety I protected the corrupt registry around both calls to the said procedure and hopefully this would fix the issue. Needs extensive testing though. The current code won't be released until I put the protections in place, otherwise crashes might (and definitely would) happen, with wrong values. In the mean time I'd like to ask users of non-English Windows 95,98/SE and ME to attach here their IO.SYS and COMMAND.COM zipped, so I can analyze them for a related part of this project (if that's allowed, of course - don't wanna break the board rules). Don't forget to mention the language they're for. @ holli: Sorry, I had the edit open already while you posted, didn't notice your post. I already knew that, just got a bit confused by all those numbers. Theoretically it would be possible, but practically we'd ask too much from logo creators. It's already too much to hexedit the bitmap and add subsequent values - scattering the locations around would just confuse the heck out of people.Then, to read the values in and store them would be a little more tedious. Right now it's: open file, move offset pointer at 1078, read 5 words, store them in struct, close file. What you suggest would be: open file, move offset pointer to first byte offset, read byte in AL, move pointer to second byte offset, read byte in AH, store AX to first struct WORD, increase struct pointer by 2, repeat all this times five, close file. Ugh! You're welcome! Now when I release the actuall WLL and you'll have the old LOGO.SYS in place (or even if you won't, there will be the one embedded in IO.SYS), you'll see the error message, then the animation in original logo will run as usual, then the text will show up again for a second or two before Windows kicks in. You won't like it. I know because I've tested this today.
  3. For some reason, ffdshow is extremely choppy on my system. I've tried a few of the latest releases from free-codecs.com - all MMX versions and they all exhibited strong video lags accompanied with choppy sound. I had to completely uninstall ffdshow. Now I only have XVid 1.1.3 and DivX 5.2.1 which work pretty decently with BSPlayer Pro.
  4. I wouldn't mess with the palette, it's hard to know which colors are used and which not. If you create a multicolored logo bitmap you'll see it can very easily be screwed up. Personally I hate that black logo with a passion - the first time I ever saw XP boot I thought to myself "whadda heck, is this a funeral of some sort?" Here's a detailed explanation of the bitmap header content - if you can find a legit location for the 10 bytes... Error message position on screen and persistance would have to be Tihiy's call, if he ever decides to use the modified WLL in RP. As for blanking the screen, after displaying the message, the routine goes to faileddrawing:, where int10h is called again with 02h in ax so it forces the screen to go in text mode again - I believe this may be the reason. You may try to bypass those 2 instructions, see if the message stays on screen. My test machine is an ancient Pentium I @ 166MHz (not even MMX) and it does have a floppy but no possibility to boot off USB (I dont' have an USB stick anyway). I'll start messing with it soon - maybe I'll just try installing soporific's UBCD, should be an interesting additional experience. As for XP: you wouldn't honestly think I'd ever allow that thing on any of my machines, would you?! Regarding ini files... argh, they're a pain. Of course it would be possible, but we should try to minimize the file number, make everything as compact as possible. Otherwise, anything can be read in from a text/ini file: from settings to translated/localized error messages (as I mentioned in a previous post). But imagine: if someone forgot to copy LOGO.SYS to their drive, wouldn't they also forget about the ini too? Dunno, this should also be Tihiy's call, if an ini should be used or not.
  5. I've been searching for an empty space too, but after carefully checking the bitmap header structure (which is detailed to the end of the code - the BMPHEAD part, 54 bytes long) I came to the conclusion that it'd be safer to use a visible address, at least temporary. What you did was hack into the palette and that is not at all recommended, as it will alter colors depending on bitmap content. For example, look at my startup.bmp and at offset 26h you'll find C4, 0E, 00, 00, C4, 0E, etc. That's part of the palette which is 256*4 bytes long. There are still 34 bytes that I don't know anything about, but they're not empty (at least in my bitmap). As for 1078... he-he... I confess I could never stand hexadecimal. Never ever. So as much as I can, I use decimal - it just feels easier, that's all. Not to mention the compiler kept complaining about a perfectly legit hex value, driving me up the walls, until I realized it was considering it as a label (the value started with a letter) so I had to add a zero in front of it. Well, decimal values don't give such headaches. Darn, you're right about the commands in the readme - I did put the right ones in the batch but the readme just slipped me. Thanks for noticing, I just fixed them now. Dunno what to say about the shaft... I noticed a small discrepancy myself, but I blamed it on bad calculation of starting point. I did mention about the 2 extra px in the readme though. Hmmm... you bypassed the automatic string centering code? I wonder why... And that keypress - that's why I put it there: because the screen gets wiped out and the user has no possibility to acknowledge the error and thus attempt to fix it, which already defeats the purpose of error messages themselves. Regaridng your laptop... I know OEMs are kinda naughty; it would be no wonder if Compaq did something to the videocard that prevents it from correctly switching banks or something along that line. But I can't say for sure, that's why I asked more people to test on different machines, to get some feedback whether the code is faulty or different hardware configurations can misbehave. Latest news: I already compiled a version of the WLL using the latest sources offered by Tihiy but I have no guts to test it on my main machine and the test one doesn't have 98SE on it (yet). So... dunno what to say. I think I'll wait until tomorrow (heck, it's already tomorrow - 2:30 AM here).
  6. Read post #11 above, please. Carefully.
  7. - Subtitles support? - Incomplete/damaged files support? - Codecs/Filters exception list? (anyone else having crashes in GTCODEC.DLL installed/used by webcam?) - User-friendly, rich-featured playlist? - Low on resources on low-end machines? Which of the above-mentioned players can do all these and still be free(ware)/open-source?
  8. With some more invaluable help from our friend PassingBy as well as the excellent analysis and findings from holli above, I was finally able to surpass the remaining mysteries of bank calculation and I can now proudly present... THE FULLY BMP-DEPENDANT VERSION OF SVGACOM! The package contains detailed instructions on how to calculate and add the parameters to your bitmap logos. Please only test this on a non-critical machine as it may contain bugs. I'll be waiting for feedback regarding (im)proper operation on different systems, with your own logos. If everything goes well with this code, then we'll go to phase 2, which is integration with WLL.COM and hunting for any clashes with the existing WLL code. [EDIT] Link removed. File is available for download further on in this thread. [/EDIT] Enjoy! @ holli: I have intentionally left the 14px 'bullet' in the example bitmap so users can see what happens with miscalculated values. In the example animation, they will notice the 'bullet' is cut to the right by 1px, because of a bad length conception. If you don't want the keypress in case of error (although I highly recommend it as it should be a one-time stop until the issue is fixed by restoring an appropriate LOGO.SYS), you may comment out the following 2 lines in the allset: subroutine: mov ah,00h ; waits for a key to be pressed int 16h Related to that, you may also modify the Preskey string at the end of the code with any other string you like - just make it less than 80 characters long and make sure it terminates with a dollar sign ( $ ).
  9. Actually your help is greatly appreciated and most welcome. I think I can now fully understand how this all animation works, 'coz until now I was just shooting in the dark and killing no rabbits. Thanks to more help from PassingBy I should soon be able to fix the remaining issues with the values that need to be calculated. The issue with the parapro.xxx variables is already fixed. If you try the version I attached above, please fix the animation values to match the correct ones, as I altered some that I shoudn't have. To check all its functionality you need to perform 3 checks: 1. Without any startup.bmp in the same folder 2. With any old-version LOGO.SYS renamed to startup.bmp 3. With the embedded startup.bmp Please note that the version posted does not have the error messages centered, but the one I'm working on does.
  10. I've always used TZ Connection Booster and TCP Optimizer (in this particular order) for years. No need to change any value with the former, just click Next everytime. And with the latter, just set it to Extreme and Optimal. eMule works fine here while minimized, with just a bit of lagging sometimes (also Windows clock runs behind even a couple hours when there's heavy traffic). I've tried running FlashGet as torr3nt (since when is this word censored?!) client but that thing simply kills the machine. Just got a 400MHz CPU and it can't deliver all that it needs. NIC is D-Link DFE-530TX+ (10/100Mb).
  11. I have the same problem where the capacity of a DVD is 'read' as 2GB although the disc is full. I wonder why... BTW, Nero 7.0.0.0 works fine here on 98SE - dunno why everybody only recommends Nero 6 for Win98. I have a Samsung SH-S182D DVD burner and I'm very pleased with it.
  12. I've had KMPlayer installed on my machine for some time and I performed some tests. As soon as I uninstalled KernelEx, KMPlayer started crashing at startup. So apparently it works fine only as long as KernelEx is installed, which is not an acceptable alternative for all Win9x users. Besides that, loading songs in a playlist is painfully slow with really many items (2-4 thousand). I'm also looking for a decent Win9x media player but couldn't find one. The closest I got was GOMPlayer, but on this 400MHz CPU is just unusable for videos - the Gretech codecs or whatever else, are just too slow and choppy. Haven't tried VLC 0.8.6e - I'm a bit reluctand to screwing up the previous version.
  13. OK, first point has been completely implemented. There are 2 different error messages according to whether LOGO.SYS is completely missing or it's an old/different version. The file size check is now correct - no more reading the values in the header but actually calculating it. [EDIT] I forgot to say that the error strings are now automatically centered on screen, so they can now be changed at will (within the 80 characters limit) and this may also leave room to translations, using an external text file. If this function is needed, tell me and I'll try to implement it. The file would have to contain 2 strings of maximum 80 characters each, terminated with a dollar ($) sign. [/EDIT] I couldn't find an empty space in the logo header (still uncertain about 34 bytes that I have no description for), so I decided to load the data in the visible area. It will be 5 WORDs not 4 as I previously stated and will be more or less visible in the top-left corner of the screen, depending on the rest of the image. I also managed to get the data from the image to program's buffer and I'm now working on integrating it with the program. Three more values need to be calculated (bank, progrstep and progrstart) and I'll be done with this part. I might need some help with the bank part, since I couldn't find any pertinent information on how to calculate each bank's boundary. Still, TASM is complaining about a couple of lines so I won't be releasing anything until I find and fix the issues. Jeez, I'm shoving ASM into my brains with the bulldozer! OK, here's the troublesome part - in this struct I pass the progressbar data read from LOGO.SYS: PROGRES struc; User-defined data for progressbar posH dw 1 posV dw 1 progW dw 1 progH dw 1 progL dw 1 PROGRES ends parapro PROGRES <> The compiler wouldn't let me use the parapro.xxx values directly in the instructions where they need to be, so I did this: progrwidth equ parapro.progW progrheight equ parapro.progH However, now I'm getting the error Need register in expression in two identical lines containing progrwidth, lines that I have not changed whatsoever: mov [copylen],progrwidth Anybody can tell me why and how to fix this?
  14. Tihiy, I already figured out the replacements for the value of 8, but as I said before, it's the 13 that I have no idea where it comes from. However, beyond this, when I replace the values exactly as you pointed out, I get the progressbar out of its track to the right on first run. This didn't happen with the original values. That's why I'm confused about that 13. Anyway, the most important thing we still need to find is the file size check routine, which doesn't work. I'll have a look at the new sources in the mean time... unless I fall asleep (been awake for 22 hours already ) Oh holli: welcome to the team! [EDIT] I got to a result finally with the file compare routine, although it's not exactly that but just reading filesize from the bitmap itself and comparing with the known value. But it works, so... That animation still gives me more headache than this tooth, but for now I'll let it be. What I wanna do now is find an elegant way of centering those strings on screen, 'coz now... ugh! Enjoy the attached modified SVGACOM.ASM and the rest of the package. On with the work! [EDIT 2] Today I just noticed a video memory corruption when running the previous version of SVGACOM.COM that was attached here, so I slightly modified it, saving the registries at startup and restoring them before exit - hopefully it will prevent such corruption in the future. That happened while testing under Windows, dunno the implications when run in pure DOS mode at Windows startup. [EDIT] Link removed. File is available for download further on in the thread. [/EDIT] P.S. Is there no moderator willing to move those posts here from the RP 7.x thread? Just to clean that one up, at least...
  15. Hmmm, didn't know about that one (but I have a hunch Tihiy did ). I suspect it's because the screen is in VGA mode at the time when other module tries to display text. Obviously this shouldn't happen - it should either continue the animation or switch to text mode and display whatever needs to be displayed. I'm afraid that'd be a little too much, at least for me. Let's hope some good people would pass by and lend a hand. For now I managed to understand 95% of how the animation works, so the progressbar can now be placed at whatever position. Haven't yet checked the limits - if any - for progressbar size and animation width. There's a little quirk about the number 13 in the constants and I can't work it out for the life of me. Next I'm trying to automate the calculation of the bank according to the user-given coordinates. Then I'll try to find an empty space in the bitmap header for the specific coordinates. Only 8 bytes needed (4 WORDs). After that, find a way to load the coordinates from the file into the constants (would they become variables?). Most of the code regarding the checks if file exists and file size matching is in place, but the latter is still incomplete.
  16. By accident I got involved into an ASM discussion, related to WLL.COM, the well-known animated boot logo loader in Tihiy's Revolutions Pack. As my ASM knowledge is limited to the Z80 stage years ago and holli - the other person interested in improvements - is about at the same level, I thought I'd start this thread in seek for help from some ASM knowledgeable people. I'll point out the main issues that we wanna fix: 1. Get rid of the blank screen & halt at startup, when LOGO.SYS is missing or a different version found 2. Be able to load custom boot logos made by users, where the progressbar is placed at different coordinates Now, the second issue may be much simpler to fix now, after the hint offered by Tihiy (thank you! ) regarding video organization by banks. However, the first one is stuck because of the lack of knowledge regarding filesize comparison in ASM, in DOS (16 bit) mode. The discussion that took place in the Revolutions Pack thread should be moved here soon. Any help is welcome.
  17. I have a pretty old videocard: MSI GeForce4 Ti4200 VTD8X 128MB (advertised as AGP8x although some tools show it as only working at 4x maximum), with BIOS: 4.28.20.05.11. Currently I am using the latest available driver for this card type from MSI, which is 45.32, on an AGP 2x mobo Soyo SY-6VCM 133. All other later generic drivers from nVidia that I've tried, would just kill Direct3D - tests in DirectX would all fail for Direct3D and obviously applications using Direct3D would fail too. I have also tried the above drivers and the behavior is just the same. I wonder, would there be anything to do in this case? Any mod of a later driver possible?
  18. I'm not sure about Mike Lin's StartupCPL, but Codestuff Starter definitely allows enabling/disabling the said service with a single click. Key name is SysTray and value is a class string followed by stobject.dll. Not to be mistaken with key name SystemTray and value SysTray.exe, which is Windows' default system tray.
  19. I wonder if you'd be interested in the DM2 project features...
  20. Which version did you test? There's 0.7.3 stable release, 0.7.4 Release Candidate and 0.8.x alpha (development) series. Then, the behavior on incoming messages can be tweaked more or less, depending on the active messaging plug-in (SRMM, Scriver, tabSRMM, nConvers++). If you want the message window to automatically pop up when receiving a message, you'll have to go to Options > Message sessions (name may vary) > Messaging and mark 'Automatically pop up the window when' and the respective status modes (your status) when it should do that. This works for SRMM and Scriver. The other two have different GUIs, but options should be pretty much similar. If you join the forums and read/search around a bit, you'll find much more than you'll ever need to know.
  21. One may use Syslog to track down system file changes.
  22. Miranda works on Win95 to Vista. Most likely, your network configuration is special and Miranda needs to be manually configured to match it. Please go to Options > Network and set any proxy details if needed, then go to Options > Network > ICQ and make sure login server and port settings are correct. If for some reason the default port is blocked (by LAN admin, ISP or similar), try setting it to port 80. Also there's a Miranda plug-in for the meBeam video networking, which may fill in the gap in video conferencing (I'm not sure if it can do conferencing, but you may try it). There's also the MirandaComm2 plug-in that can do 1-on-1 audio-video chat with another Miranda user that also has that plug-in installed. Unfortunately, the Addons page is down currently, as well as the Wiki. For more details, you're welcome to join the Miranda forums, which are operational currently. (apologies for going slightly off-topic) May I suggest FastStone Image Viewer for image viewing/editing? Works just fine here. And FlashGet as download manager, Screamer Radio for on-line radio (although there's a Miranda plug-in for that too ).
  23. Fastest and best is common-sense. You may run an on-demand antivirus scanner whenever you think there might be a risk, otherwise just 'watch your step'.
  24. The only thing that puzzles me while passing by this thread is why would this release be called 'December' when we're already almost one week into February... Oh and another question that just popped in my mind: approximately how many reboots would AP perform on a vanilla 98SE? Attached to my testing machine (166MHz CPU, 32MB RAM) I got a defective monitor that after a few hours of usage, once gone into off mode (temporarily during a reboot or low power mode) it will stay that way, unless powered off for minutes to hours.
  25. 2. SlimBrowser 3. GOM Player Instead of WebICQ you may wanna try Miranda IM (see my signature) - in a few days, as the main server is down currently.
×
×
  • Create New...