Jump to content

Petr

Member
  • Posts

    1,000
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Czech Republic

Everything posted by Petr

  1. Optimize Swap File Performance Optimize the DefaultRcvWindow & DefaultTTL Settings Speed Up ISP Logon Time Faster Modem Dialing Change the Size of the Virtual Disk Cache and mutch more ! Do you know WinBoost, Window Power Tools tweaks ? There are many interesting settings for everyone ! What about adding a registry clean before/after the installation ?? http://www.tweaknow.com/RegCleaner.html <{POST_SNAPBACK}> These optimizations are user/configuration specific and may or may not work in specific case. This is nothing to add to generally used service pack. Therefore I asked you if you know any optimizations that will work for everybody, and if not help, then will not make things worse. * Optimize Swap File Performance => This setting is already present in SESP since version 1.0 but there were long discussion if it is good idea recently - it is recommended only in case of 128M+ RAM. * Optimize the DefaultRcvWindow & DefaultTTL Settings => connection specifc. I was not able to improve the speed on any connection (modem dialup / 1M ADSL / LAN) anyway. * Speed Up ISP Logon Time => This is user specific, automatic change of current dialup connections is not very clever idea. How you would distinguish cases when ''Log on to network' is required and when not? How you would distinguish cases when IPX protocol is required and when not? * Faster Modem Dialing => shorter DTMF tones may not work everywhere. * Change the Size of the Virtual Disk Cache => this is black magic, but it is already present in SE SP anyway. You may read long discussions about the right setting here. Therefore I asked you - what enhancements are safe enough to add them always, or at least in easily detectable cases? Petr
  2. Well, seems really few tweaks. Check out these (i know you already know them): WinGuides' Tweaks for Windows 98 Griffin Digital's Windows 98 Optimization Guide Getting The Most From Windows 98 - Tweaks and Shortcuts! Optimize Settings ...and many more ! Why not adding these tweaks too ? <{POST_SNAPBACK}> What tweaks do you consider to be useful for everybody? I think you will hardly find some. Petr
  3. LBA addressing is necessary for disks > 8.4 GB, I'm not sure when it was introduced but it is present in the first ATA specification (1997) http://www.t13.org/project/d0791r4c-ATA-1.pdfINT 13 extensions are necessary for disks > 512 MB and were introduced in January 1995 http://www.23cc.com/free-fdisk/specs-edd11.pdf 48-bit LBA is necessary for disks >137 GB (128 GiB) (max. 144115 TB) and was introduced in ATA/ATAPI-6 standard in October 2000 http://www.t13.org/project/d1410r3-ATA-ATAPI-6.pdf This is valid just in this case: "This problem may occur on computers that use a Phoenix BIOS and use the Phoenix BitShift translation algorithm to report the geometry of large IDE hard disks." - this is very rare condition. Yes, I was able to partition even 200 GB HDD with this updated fdisk, there is only cosmetical issue with displaying sizes above 100 GB.Petr
  4. Good find, please send me this hotfix by e-mail or let me know the URL for download. Petr
  5. If your BIOS and disk controller driver support 48-bit LBA, you should just use partition size below 136 GB (127 GiB). Petr
  6. Few new observations: GA-586HX (Intel 430HX chipset) BIOS won't boot with WD2000JB enabled, it freezes during disk detection. If I disable the disk, big surprise, Windows 98 SE will detect it and shows the right capacity! Strange thing - how can Windows find disabled disk? Maybe the XBIOS is installed on the HDD? I have no idea. Some information is here: http://support.microsoft.com/kb/126855/ One problem - since the disk is disabled, BIOS does not set the right timing of the disk. There may be the solution to limit the maximum LBA by WD LifeGuard tools, I have not tested it. I have also found an explanation of the scandisk for Windows limit: http://support.microsoft.com/default.aspx?...kb;en-us;184006 The ScanDisk tool included with Microsoft Windows 95 and Microsoft Windows 98 is a 16-bit program. Such programs have a single memory block maximum allocation size of 16 MB less 64 KB. Therefore, The Windows 95 or Windows 98 ScanDisk tool cannot process volumes using the FAT32 file system that have a FAT larger than 16 MB less 64 KB in size. A FAT entry on a volume using the FAT32 file system uses 4 bytes, so ScanDisk cannot process the FAT on a volume using the FAT32 file system that defines more than 4,177,920 clusters (including the two reserved clusters). Including the FATs themselves, this works out, at the maximum of 32 KB per cluster, to a volume size of 127.53 gigabytes (GB). Dskmaint.dll is 16-bit so probably no chance to overcome this limit. Petr
  7. Hello hp38guser, are you able to give me any hint (or better step-by-step guide) how to translate the help file? I have translated tweakui.cpl to Czech language and I'm considering to translate the hlp too - but so far I don't know why. Petr
  8. Is there a link/download avaliable on the microsoft site? Can you post it [link] please? <{POST_SNAPBACK}> http://support.microsoft.com/kb/263044 Petr
  9. Yes, I have tested fully patched system, i.e. with updated FDISK. No, the only advantage of Tihiy's Scandisk seems to be skinning. Petr
  10. So I've found short time only so here are the results. WD2000JB disk was used. GA-586HX (Intel 430HX chipset) motherboard with Award BIOS: No boot GA-6OXE-1 (Intel 815E chipset) + IAA2.3: everything OK GA-8PE667Ultra2 (Intel 845PE chipset) + IAA2.3: everything OK Kouwell KW-571A ATA/100 disk controller (With CMD 649 chip): not functional Windows 98 SE FDISK: no problem with 137GB, cosmetical errors for >=100 GB Windows 98 SE FORMAT: no problem with 137GB, small cosmetical error for >xxGB? Windows 98 SE CHKDSK: display correctly Windows 98 SE SCANDISK (DOS): OK Windows 98 SE formatting (GUI): OK Windows 98 SE SCANDISK (GUI): won't start (insufficient memory) Windows 98 SE DEFRAG (GUI): won't start (insufficient memory) The test was not extensive, but it seems it is not necessary to replace DOS FDISK and FORMAT utilities, it just may be interesting to modify the display (add one column in FDISK and correct the Formatting xxxxxx MB message). Short look at PCI controller cards shows the following: Silicon Image/CMD 646, 648 (ATA/66), 649 (ATA/100) No 48-bit LBA support Silicon Image SiI0680/0680A (ATA/133): 48-bit LBA supported Promise Ultra 66: BIOS No 48-bit LBA support, Windows driver: 48-bit LBA supported Promise Ultra 100, 133: 48-bit LBA supported HighPoint HPT370 (ATA/100), HPT302, HPT372, HPT374 (ATA/133): 48-bit LBA supported This seems to be support for Intel disk controllers: Standard ESDI_506.PDR: Intel® 82371FB PCI Bus Master IDE Controller (PIIX) Intel® 82371SB PCI Bus Master IDE Controller (PIIX3) Intel® 82371AB/EB/MB PCI Bus Master IDE Controller (PIIX4/4E/4M) Intel Application Accelerator 2.3 has support for Intel® 82801AA Ultra ATA Controller (ICH) Intel® 82801AB Ultra ATA Controller (ICH-0) Intel® 82801BA Ultra ATA Controller (ICH-2) Intel® 82801DB Ultra ATA Controller (ICH-4) (IntelATA.mpd version 2.3.0.2160 15-Oct-2002) Older Ultra ATA Storage Driver 6.20.2008 has support for: Intel® 82801AA Ultra ATA Controller (ICH) Intel® 82801AB Ultra ATA Controller (ICH-0) Intel® 82801BA Ultra ATA Controller (ICH-2) Intel® 82801CA Ultra ATA Controller (ICH-3) (IntelATA.mpd version 5.2.2008.0, 20-Aug-2001 - not sure if 48-bit capable) The following newer Intel IDE controllers are serverd by ESDI_506.PDR only: Intel® 82801EB Ultra ATA Storage Controllers (ICH-5) Intel® 82801FB Ultra ATA Storage Controllers (ICH-6) Probably no support for this newest IDE controller: Intel® 82801GB Ultra ATA Storage Controllers (ICH-7) Petr
  11. I don't think that you would ruin your system. It is easy to put any microcode to UPDATE.SYS - if you know what you need, let me know. Petr
  12. ^^ rloew recent post. So, this check should be removed... or not removed... it is useless anyway. <{POST_SNAPBACK}> If I understand correctly, scandskw should not be run on disks bigger than 136 GB. The initial selection of disk to scan is done by this wrapper or by dskmaint.dll? It would be good not to allow scan of bigger disk I think. The best would be to allocate more memory so the scandisk could be able to work with bigger disks. Is there any chance for it? Petr
  13. You may want it if your motherboard BIOS does not update the CPU to the latest microcode update version. Please read this therad if you don't know how to get your current update version. Petr
  14. I suggested switching modes at this sector because it seems to be the highest sector number safe enough. ATA-7 spec besides other things defines: 1) Words (61:60) shall contain the value one greater than the total number of user-addressable sectors in 28-bit addressing and shall not exceed 0FFFFFFFh. The content of words (61:60) shall be greater than or equal to one and less than or equal to 268,435,455. and even more clear statement: That is, if the device contains greater than the capacity addressable with 28-bit commands,words (61:60) shall describe the maximum capacity that can be addressed by 28-bit commands. My understanding is so that not more than 0FFFFFFFh sectors should be addressed using 28-bit LBA addressing. I remember memory addressing in PC/AT, where the address FFFF:10 (seg:offs) may be either physical address 000000 (wrapped) or 100000 (linear) depending on the gate A20 state. So to avoid possible wrapping on the 28-bit LBA boundary I'd suggest to choose the swithching point below 0xFFFFF00. In fact, the switching point can be even lower, it has just to be above the biggest size of HDDs not supporting 48-bit LBA, i.e. above 120 GB. I think it is not necessary to use higher sector number than 0xFFFFF00 in 28-bit LBA mode and therefore it is also not necessary to test the behavior of specific disks. Even if all drives tested would be able to use 0xFFFFFFF sector number, I would't recommend to use it because nobody can be sure that it really works for all drives in the world. ATA-7 also specifies that: 4) The contents of words (61:60) and (103:100) shall not be used to determine if 48-bit addressing is supported. IDENTIFY DEVICE bit 10 word 83 indicates support for 48-bit addressing. but I believe it is reasonable risk not to test it. From the description in chapter 4.14 the 28-bit LBA support seems to be obligatory so it seems not necessary to address >137GB disks using 48-bit LBA only. But I remember so many incompatibilites between disks and controllers that nobody can be sure that the solution is final and will work forever..... Even original ESDI_506.PDR contains a list of models that need special handling. Petr
  15. Yes, I suppose to test it. I have several boxes with Intel chipsets available, 430HX, 430TX, 440BX, 815E, 845PE and also several add-on cards. I have only WDC drives available now. It would take much time anyway. I have to find some easy way how to test what sector was *really* read/written because of possible sector wrapping or shifting. Petr
  16. Dear Rudolph, Yes, it is hard to describe myself. I never wrote any bigger piece of code, but the first device drivers I wrote were for CP-M/80 operating system, I built my own original RTC board for the first personal computers including the fully functional AT-like BIOS, I have extended EGA BIOSes with VGA functions, I disassembled and understood the first Phoenix BIOSes in 1987 and always my work was oriented in this direction - low level and hardware. My 34GB+ and 64GB+ solution for Award BIOSes described in detail here: http://www.ryston.cz/petr/bios/ was the first in the world. I decided to put it freely on my website and after that several other peoples used this idea - and I was glad that many people in the world were able to use their larger disks with older computers. It was always my hobby only. I have written also several linux (2.2) disk controller drivers for VLB disk controllers listed at http://www.ryston.cz/petr/vlb/ - it took much time but I was not satisfied with the result. I also solved all problems with booting W98 from extended partitions: http://groups.yahoo.com/group/xosl/message/2864 Almost 20 years ago I've bought Sourcer + BIOS preprocesor + Windows Source later (version 7 at present) written by Clive Turvey and I use it to understand how the low level things works. And do you remember Quaid Analyzer, that was able to trace the boot process? It was always hard for me to explain why I'm not able to write simple program if I'm able to do some complex things and even you got confusec - so I tried to describe it more in detail here. Interesting. What information do you mean? I've never tested any VIA driver or 137GB+ HDD. Gape, me and other contributors to the SE SP project strictly insist on not using any "warez" code and any tries from new people were immediately refused and deleted. FYI, Phoenix BIOS is 15 years older than D.M.C.A. but this is not important here.I was always glad to see people that extend the functionality and interoperability where big companies fail (Microsoft, Phoenix...) and it's just their decision whether they will provide results of their work free or for money. (OT: I'd recommend you to add a CC payment method, to pay $15 to Western Union to send you $10 does not sound very reasonable.) Petr
  17. In case of disk driver like ESDI_506.pdr, it is not partition size limit but physical disk size limit. Standard ESDI_506.PDR does not use 48-LBA addressing scheme and therefore is not able to address any sector on the HDD above 137GB barrier. It is not related to partitions in any way, no doubt. Maybe I will find some time this weekend and try put 160G disk into W98SE box and try all possible combinations of drivers, partitions and tools to bring some more light into the darkness of contradictory statements regarding various tools. Petr
  18. There are problems with this FDISK - or maybe some uncertainity. http://www.23cc.com/free-fdisk/ page refers to version 1.2.1 only (last stable version) and there is also written as the first feature: "Supports hard disks up to 128GB in size." but also "Free FDISK 1.1.1 (Beta) has been tested with hard disks up to 180GB in size." It seems that 1.3.0 is beta version only. Please read all attached files, I'm not sure that it is suitable for everybody. It is GPL, it means some obligations, like adding the GPL license and providing source code either directly or a reference (I'm not expert on GPL) For localized SP versions it would be necessary to translate this FDISK, compile it., and distribute the source code. Unfortunately, "International language support will be completed in a future release." - that will probably never appear. :-( I'm not sure if this software is still maintained, it does not look like this. Brian did not responded to my e-mail. I cite:Known bugs/problems: 1. Will, under some circumstances, fail to format due to dma overruns. 2. The FAT32 format may not be compatible with MS's operating systems. and all the above mentioned uncertainities. I think that the above mentioned FDISK and FORMAT tools are not good replacement of standard W98 FDISK and FORMAT. I'd suggest them as an addition for >137GB disks, but not as standard. Serious testing shall be done. Petr
  19. Dear Rudolph, I have posted publicly available information only, no information posted was obtained by examining of your code. I just summarized the information I already had about 48-bit LBA because many people asked me for BIOS patch to break the 137GB barrier. Plus added short inormation that I obtained when I was preparing localized language versions of VXD files. That's all. Do you see any of your trade secrets in my description? BTW, do you know how the first Phoenix BIOS were made not to violate the IBM license? Petr
  20. BTW, I have also encountered black background of the taskbar panels (quick launch, desktop) after uninstalling SP 2.0. Petr
  21. Yes and no. The PCI IDE controller hardware itself is not necessary, but the BIOS on this board and Windows drivers for this controller support 137GB+ disks. Petr
  22. Fixed VOLTRACK.VXD 4.10.1999 [patched by the same person who sent KRNL386.EXE] works on the 2 PCs I've tested, with both 98 FE + 98 SE.Note that VOLTRACK.VXD patch is English, NOT Japanese. <{POST_SNAPBACK}> Q234697 article title is "Computer Hangs When Viewing Empty ORB Removable Drive in Japanese Windows 98". So what is corrected by this new VOLTRACK.VXD if it is not for Japanese Windoes 98? And why Diskvsd.vxd is missing? Petr
  23. Hi MDGx, thanks for your long list advices, but on the same box, W98SE with Mitsumi driver and WME with no additional driver works well, just W98SE with NUSB22 causes BSOD. I don't use PnP OS setting in BIOS, so the resources are set by BIOS and always the same. The only thinhg I can try is to install English W98SE + 98SE2ME - but just to see if it works. The final solution would be (I suppose) 1) to remove Mitsumi FDD from NUSB22 INF files and install Mitsumi supplied driver for 98SE, or 2) to modify something to make Mitsumi FDD work with no additional driver. Petr
  24. Since I have invented how to break 34GB and 64GB barrier in Award BIOS several years ago (details here) I tried to summarize the knowledge about 137GB barrier and suggest some solutions. At first, it has to be expressed that 32/34 GB limit (old Award BIOS, sysdm.cpl in W98/SE/ME) and 64 GB limit (old Award BIOS) are caused by overflow condition in the software (BIOS or CPL) and may be considered as bugs - the programer just used 16-bit integer value for disk capacity in megabytes => 32GB limit for signed int (sysdm.cpl), 64GB limit for unsigned int (Award BIOS), or divide overflow in translated geometry calculation (Award BIOS). 137GB limit has different nature. It is caused by different logic of the hardware interface of the hard disk drive. Now I will forget all older HDDs that do not support LBA and I will describe the difference. Classic HDDs use 28-bit addressing of the sector, each sector has 512 bytes, and therefore the maximum size is 0xfffffffh * 512 = 137,438,952,960 bytes. New 48-bit LBA addressing has theoretical maximum size 0xffffffffffff * 512 = 144,115,188,075,855,360 bytes. Detail description of the difference and how it works is in ATA/ATAPI-7 specification, especially chapter 4.14 on page 38/58. Another source of information is http://www.48bitlba.com/ . I will describe it in short. How ithe IDE (ATA) interface works? It is controlled by 8+1 registers addressed as ports (page 71 of ATA/ATAPI-7 spec), given example is for the most standard base address of the primary IDE controller 0x1f0 to 0x1f7 and 0x3f6. When read: 0x1f0: Data 0x1f1: Error 0x1f2: Sector Count 0x1f3: LBA low 0x1f4: LBA mid 0x1f5: LBA high 0x1f6: Device 0x1f7: Status 0x3f6: Alternate Status When written: 0x1f0: Data 0x1f1: Features 0x1f2: Sector Count 0x1f3: LBA low 0x1f4: LBA mid 0x1f5: LBA high 0x1f6: Device 0x1f7: Command 0x3f6: Device Control For 28-bit LBA addressing, the highest 4 bits are part of the Device register. For example, read of a sector works so that Sector Count, LBA Low, Mid, High, Device register are filled with the right data and then the Command is issued. Please also see table 6, p. 39/59. 48-bit LBA uses the same interface, but Sector Count, LBA Low, Mid, High are 2-bit FIFO registers, it means that the first write to these register contain upper 24 bits and the second write lower 24 bits. The 4 bits of Device register used by 28-bit LBA for are not used by 48-bit LBA. Please see table 5, p. 38/58. This description clearly shows that there has to be no special hardware controller to support 48-bit LBA HDD, only the software has to be modified to address the sectors properly. To boot from such disk, either the BIOS has to have 48-LBA support, or some boot manager has to be used. Also if you want to use DOS based tools that use BIOS. And how it is with Windows 98? The maximum FAT32 partition size is 2 TB, it is (2^32-1) * 512 = 2,199,023,255,552 bytes. Windows seems to use 32-bit addressing of sectors. If the upper 4 bits are zero, 28-bit LBA will be used and no problem arise. But for size above 137GB, 48-bit LBA addressing has to be used and it means the above described two writes to each address register, in this case it means to write the upper 8 bits to the LBA Low register and zeroes to LBA Mid and LBA High in first step, and in the second step to write remianing 24 bits to LBA Low-Mid-High. Also Sector Count register has to be written in 2-byte sequence if programmed. And this is the modification that has to be done with ESDI_506.PDR driver. There is a commercial patch made by Rudolph R. Loew but if we are looking for something to add to the SE SP, it has to be free. I'd strongly recommend that if anybody will want to write the patch for ESDI_506.PDR, he should never look at Mr. Loew patch to avoid possible license problems. So what has to be done. ESDI_506.PDR is linear executable (LE) file, there are symbols available and also debug version + symbols is available in Windows 98 DDK. All routines that has to be modified are in the first code segment, it is located at address 0x00800 in the ESDI_506.PDR file and this segment has size 0x2000 = 8192 bytes. In version 4.10.2225, 0x1dec = 7660 bytes are used, it means there are 532 bytes free for the patch. The code that needs to be modified seems to be in the following 4 procedures: ESDI_Start_Hardware ESDI_Func_Read ESDI_Func_Write ESDI_Func_Verify So if the sector address is lower than 0xfffff00, old routine will be used, if it is higher or equal, new routine with LBA-48 addressing has to be used. In fact, this new routine can to be simplified to writing 8 highest bits to LBA Low and zeroes to LBA Mid and High and then the old procedure can be called - but with changed command number. It looks like the following commands are used, the first command number is for 28-bit LBA, the second for 48-bit LBA: 0xc8 -> 0x25 − READ DMA EXT 0xc4 -> 0x29 − READ MULTIPLE EXT 0x20 -> 0x24 − READ SECTOR(S) EXT 0x40 -> 0x42 − READ VERIFY SECTOR(S) EXT 0xca -> 0x35 − WRITE DMA EXT 0xc5 -> 0x39 − WRITE MULTIPLE EXT 0x30 -> 0x34 − WRITE SECTOR(S) EXT There may be other tests needed, but this seems to be essential. Regarding utilities, some of them use BIOS, some of them use Windows, and they has to be tested for compatibility with 137GB+ drives. I see no technical reason for 137GB limit here because this limit is caused by 28-bit hardware addressing and none of these utilities access hardware directly, always via BIOS or Windows calls, and there seems to be no 28-bit limit, the sector number is 32-bit. I suppose that if there is really 137GB limit, it could be easily removed, it is probably artificial only. Short Q&A: Q: Why the highest sector number for 28-bit LBA is 0xffffffe and not 0xfffffff? A: Because the maximum number of sectors is 0xfffffff and they are numbered from 0, not from 1. Q: Why the 28-bit LBA maximum sector number in ESDI_506.PDR proposed modification is 0xffffe0f and not 0xffffffe? A: Because the sector count many be up to 255, and even the last sector shoud fit into 28-bit addressing. Q: Why new HDD controller is often recommended as a solution? You wrote that no hardware changes are necessary. A: This is not related to hardware. The only reason is that new controller comes with its own new BIOS and Windows driver that supports 48-bit LBA, this eliminates the need to have the 48-bit compatible BIOS or boot manager, and the need of patched ESDI_506.PDR. Q: When the ESDI_506.PDR driver is used? A: It is for standard controllers, like Intel PIIX, most newer controllers uses its own driver, like Intel Application Accelerator, these new drivers usually support 48-bit LBA. Q: How to test whether the 48-bit LBA wirks as expected? A: One possibility is just to fill the disk beyond 137GB and see whether the disk content got corrupted. Programmers could try to write small utility that would read and write data beyond the 137GB limit using registry access, using BIOS calls and using Windows calls and compare if the same sector is read and written. I wrote this to enable somebody to write the necessary patches - I personally have no 137GB+ disk, not I'm skilled coder, nor I have time enough. But this could help to make some overview what the 137GB limit is and what is not, and what has to be done to fully suport it in Windows 98 SE. Petr
×
×
  • Create New...