MadTracker.org
FAQ

The 686b bugfix

Introduction

One of the most stubborn problems that may be encountered during the use of MadTracker 2 is the so-called 686b bug, which causes the system to hang. This bugfix will superficially explain the causes of and solution to this problem, but keep in mind that every system is unique, which makes it impossible to provide the user with a standard procedure which is always valid. Though the information provided here can be used as a guideline, it must not be seen as a step-by-step foolproof manual.

Description of the problem

Currently all that can be derived from the information provided by users is that the 686b bug combined with MadTracker causes the system to hang after a certain amount of time. Due to a widely ranging set of different circumstances these lock-ups can occur either in less than a minute or completely at random, but sometimes the cause of this behaviour will be the aforementioned 686b bug. Since these symptoms are caused by a hardware malfunction, at this point a reboot will be necessary to get the system back on its feet.
Remarkably, MadTracker is one of only a few applications which respond to the 686b bug in this manner. According to it’s author, Yannick Delwiche, the reason for this is "due to the fact that MadTracker uses a wide range of optimizations. Some techniques like self-modifiable code is not commonly used; and that's perhaps the trigger of the freeze".
Up till now this bug does not appear to be OS-related; all Windows releases (95, 98, 98SE, ME, NT, 2K and XP) are known to have this problem.

Description of the 686b bug

Generally the 686b bug occurs on systems containing motherboards with a VIA chipset. As VIA states below, the problem is the result of incorrect management of the chips that control the data-transportation to and from the pci-slots. Especially when combined with an AMD processor this bug can cause different symptoms, varying from slow harddisk speeds to freezing systems.

Official statement by VIA:
The data corruption error, which some web sites and people have reported with the 686b Southbridge, is caused by incorrect bios registry setting to the Northbridge. These bios settings were made by motherboard manufacturers, in an attempt to fix a conflict with the Sound Blaster Live Value cards. Information has been provided to all motherboard manufacturers on how to correctly resolve both the data corruption error and the Sound Blaster Live conflict. The patch released by VIA in the 4in1 4.31 drivers replicates the correct bios settings. We provided this patch to make sure as many people got a fix to their Sound Blaster Live problems as soon as possible. Most motherboard manufacturers have now corrected their bios and the patch is not necessarily needed although it will not harm any VIA based system if installed.

Solution

Disclaimer:
Misuse or inexpert use of the information provided in this text might damage your system. If you suspect you might be incapable of performing the actions described below by yourself, please let someone else perform then for you (such as for instance your vendor). Neither VIA, VIA hardware, nor any of the people who created this bugfix can be held responsible for possible damage to your computer caused by the procedures described below.

Firstly, find out exactly what your computer is using, both in hard- and software. There are tools for such overviews, the simplest of which is Sandra by Sisoftware. Sandra is an information and diagnostics utility for Windows, which provides you with a complete overview of your computer.

Absolutely essential information:

  • Motherboard model number
    This tells you which motherboard you have and which BIOS version it is running
  • System chipset model number
    This tells you what who the manufacturer of your BIOS is
  • LPC/ISA Bus model number
    This tells you whether or not the 686b chipset is present on your motherboard
  • Version number of your motherboard drivers
    Motherboards with the 686b chipset use VIA 4in1 drivers; for information regarding the version of those on your system, check the software section of your OS

A free version of Sandra can be found at www.sisoftware.co.uk.

Once you have acquired this information you can start on the bugfixes provided below. Though they are presented in the most common order of use, this is by no means the only right order. If your knowledge of computers is limited at best, you might want to follow these instructions step by step, but as the individual solutions might also solve the problem in and of themselves, check to see if the problem is still present after every step. If you neglect to do this, the next step might cause the problem to reappear.

The first four steps are the official ones, as provided by manufacturers:

  1. Download and install the latest drivers for your motherboard. In most cases this will mean you need to download and install the latest Hyperion VIA 4in1 drivers, which can be found at http://www.viaarena.com/?PageID=300. According to an official statement by VIA, this fix ought to solve the problem, though in a number of cases this has proven to be untrue. Hyperion VIA 4in1 drivers are being updated continuously, though version 4.43 is said to be the best for Win2k and XP, and version 4.32 for 95, 98, 98SE and ME.
  2. Download and install the latest official release of your BIOS. Most motherboard manufacturers have such a BIOS download section on their sites, including detailed instructions for flashing your BIOS. Keep in mind that a BIOS flash can generate irreversible damage if performed incorrectly. Read the instructions very carefully and follow them to the letter.
  3. Download and install the latest drivers for ALL of your hardware. Old drivers may interfere with the performance of your system, so make sure you have the latest official drivers for every component. Where possible use Microsoft certified drivers; several of the lesser-known manufacturers could have drivers which conflict with the overall system, but more on this later.
  4. Perform a Windows Update through the Internet Explorer. The Microsoft site will perform a test to see if there are any parts of your Windows version that can be updated in order to increase the stability, performance and functionality of your system. Honestly.

Though the following step is by no means official, it has proven to be rather functional. Besides possibly solving the 686b-bug, it can also be helpful in other issues, such as those relating to disk speed.

  • Download the latest version of the Latency Patch by George Breeze at www.georgebreese.com. This patch contains drivers that can be incorporated into your version of Windows. They work similarly to the official VIA fix, but they also change other BIOS registers in an attempt to fix the data-transport issues. Besides this, it also fixes other issues such as failing USB ports, and static on sound cards. Though these issues are not symptoms of the 686b bug, they are present in many systems.

If the first four steps haven’t solved the problem and you decide to install this patch, keep in mind that it should be used with caution. Although a tremendous amount of time has been put into writing it, there is no guarantee that this patch will not cause damage to your system. Once again we suggest you read all of the readme files with extreme care before installing.

The next solution deals with IRQ assignment and is meant for users of Win95, 98, 98SE or ME. For other Windows releases, this isn’t really helpful.

  • The best configuration is one where a minimal amount of IRQ’s are shared. For ISA cards, the IRQ can be manually changed in the device manager, but they are automatically assigned to PCI cards due to their being Plug and Play devices. They simplest way to change the IRQ for a PCI card is to deinstall the card’s drivers, remove the card physically from your system, reboot, shut down, plug the card back into another PCI slot and reinstall the driver. There are several theories about which PCI slot is the most suitable, but generally it can be stated that most of the time it’s not a good idea to plug the soundcard into the slot directly below your AGP slot, since PCI 1 and AGP quite often share an IRQ. Similarly, the last PCI slot is said to be assigned to IRQ 5 or 7.
    The manual of your motherboard usually states wich PCI-slots, through hardware, share an IRQ with other hardware. Try to avoid placing the soundcard in one of the slots that share IRQ through hardware. An example of this is the manual of the ABIT k7ta-raid, which states: "PCI slot 5 shares IRQ signals with the HPT370 RAID controller". This means that you should avoid placing the soundcard in PCI-slot 5.

The following is not exactly a complete solution but can be performed if all of the above has failed to yield the desired result. As noted above, Microsoft certified drivers seem to perform best when it comes to system stability, and the hardware section in your control panel can inform you whether a driver is certified or not. Several cases of the MadTracker freezing problem were solved for a major part by acquiring said certified drivers. A good way to install these is uninstalling the piece of hardware, rebooting, and cancelling all installation attempts made by Windows. If you then run a Windows Update for your OS the hardware will automatically be installed with the certified drivers, provided they are available.

The last solution is also the most radical one, as it involves a full reinstall of your OS, and should be attempted only if the aforementioned solutions proved to be unsuccessful. Especially in the cases of Win95, Win98, and Win98SE and WinME, the problem may be caused by bad registers, half-functional software and conflicting DLL’s of badly deinstalled applications, and in those cases a reinstall will prove to be very functional indeed.

  • Needless to say, you must backup all files that you don’t want to lose before formatting the harddisk. The best choice would be to install Windows after the format with only your videocard plugged in. After Windows setup, first install the right VIA4-1 drivers, then the latest (certified) drivers for your soundcard and then MadTracker.
    Verify if the problem is solved in this configuration. If not, proceed to install the aforementioned Latency Patch and all of the others steps described above. Although these steps might not have worked before the possibility exists that they do solve the problem in your new configuration. If it is solved, you can continue installing the rest of your hardware one by one. After each installation, check MadTracker to check if the problem has resurfaced.

Additional Help

The first place to go when uncertain about anything mentioned (or left out) here would be the MadTracker forum. Feel free to post your question(s) there, as numerous people will be willing to do the best they can to help you.
At www.viaarena.com more specifically technical information can be found, such as new information about the VIA4-1 drivers or the latency patch. The site also hosts a forum where you could post in case of technical difficulties with for example IRQ assignment, the latency patch or VIA4-1 drivers.
A complete description of the 686b-bug including several solutions not mentioned here can be found at Sudhian.com.
If all else fails, you could of course mail me at inge@madtracker.org. Though I can’t guarantee I’ll solve all of your problems, at least I’m willing to take a look...

You can also mail me if you have any comments or questions about this text.

2002-12-15, with great help from Yannick, Sunbuster and Sabine.

Inge
Copyright © 1998-2005 Yannick Delwiche
All rights reserved