Wednesday, December 28, 2011

Rapid Release Schedule

One thing I've noticed lately is a lot of software is releasing too frequently. Of course, a phrase like "too frequently" is subjective. There is a fine balance between not enough and too frequently.

The whole reason to release a new version of a product is to add new features/support and/or fix bugs in the program. So new versions of a product are a good thing. But there is a downside to releasing too frequently. The main problem is there is a "cost" associated with updating software. Every computer with that software installed needs to download and install the updated version. Sometimes this is automatic sometimes it's manual. If it's manual then a frequently release schedule means the user spends more time upgrading. Automatic is not a panacea either. Automatically updating apps can lead to problems without the users knowledge. Plus there is the problem of bandwidth. Every upgrade requires bandwidth to download and install. For each individual user this isn't a problem, but consider on a whole how much total Internet traffic is wasted on continuous updates.

Probably the biggest problem with frequent updates is in corporate use. Most larger corporations do NOT use automatic updates, they use automated tools to update the software in their enterprise. When you consider how many applications will be used in a large enterprise, and if those applications are on a frequent release schedule this creates a lot of work for the IT admins.

A good example of a "rapid release schedule" would be Mozilla Firefox. I think my only gripe with Firefox is it's release schedule. In the middle of 2011 Mozilla announced Firefox would switch to a rapid release schedule. From 2005 'til 2011 Firefox went from version 1.x to 4.x. In the second half of 2011, Firefox went from 4.x to 9.x. So in less than 6 months Mozilla went through more major release numbers than it did in the previous 6 years. And it's not just Firefox. Google Chrome and Adobe products are two more examples of software that releases too often.

Typically software version numbers are major then minor. Often times there are addition numbers for even smaller releases (like bug fixes). If you increase the major version of a product, this should indicate a MAJOR change in the product. Makes sense huh? Too bad software companies don't seem to grasp this.

Tuesday, December 6, 2011

How to use a solder sucker



If you ever venture into the world of electronics repair then you'll need to be able to remove components soldered onto a circuit board. There are different ways to accomplish this. By far the best is desoldering tool like the Hakko 808. These are basically a soldering iron and a vacuum pump in one tool. It melts the solder then sucks it out of the joint. Very effective, but also very expensive.

There are less expensive options out there. Solder wick (a.k.a. desoldering braid) is probably the cheapest. This is basically a small spool of braided copper wire. You put the braid on the solder to be removed and heat both with a soldering iron. As the solder melts it's literally wicked into the desoldering braid.

The other inexpensive way to remove solder is using a tool called a solder sucker. A solder sucker has a spring-loaded plunger that when released creates a small vacuum effect through the nozzle. The theory behind a solder sucker is simple, but getting them to work is a different matter. I've found two different approaches to using a solder sucker.

The first is to use your soldering iron to melt the solder and at the same time hold the tip of the solder sucker close to the joint. Then in one quick motion pull the soldering iron away, put the tip of the solder sucker over the joint, and press the button to release the plunger. This technique works, but it's very difficult to get it just right. The problem is you have only a fraction of a second to suck up the molten solder before it cools and solidifies. Using this method I found it sometimes took half a dozen attempts before I was successful.

The second approach is one I stumbled upon be accident but works very well. First use your soldering iron to melt the solder to be removed. Next, add still more solder to the joint. The goal is to create a relatively large blob of molten solder. Now bring in the solder sucker and as soon as the tip of the solder sucker is touching the molten solder press the button. Do NOT remove the soldering iron, leave it there. Because the soldering iron remains on the joint the solder remains molten. Molten solder, like water, has surface tension which means it will stick together. So once some of the solder starts up the tip into the solder sucker, the rest of the solder will follow it. I find this method to work very well for removing solder. It usually removes all the solder on the first try.

Now this technique may not work well if you don't have a small soldering iron tip. I would suggest you experiment first on some junk circuit boards. Good luck and happy repairing.

Monday, December 5, 2011

Phantasy Star 2 - the lost data

In my last post I talked about my failed attempt to replace the battery in my Phantasy Star 2 cartridge without losing saved games. But since I did lose my saved games, I wanted to reminisce about what I lost.

First off, let me just admit I played this game way too much. I played it as much as I did because of my obsession with perfection. I was attempting to max out everything in the game. So that said, this is how far I had taken PS2.

In an RPG game, you fight enemies to gain experience and money. As you gain experience your characters level up. As you level up, your characters become stronger. In PS2 your characters are strong enough to beat the final bosses at about level 25. But I took all of my character up to the maximum level which was 35. But I didn't stop there. At level 35 your characters have abour 3 million experience points. But I wanted to max that out as well. So I took all 7 of my characters up to 9,999,999 experience points. That was 7 million experience points of gain for no reason.

Leveling up wasn't the only thing I did, I also wanted to maximize my possessions. In PS2 Star Mist and Moon Dew are valuable items to have, yet you cannot buy them in any store. You can only find them in a few scattered chests, or use Shir (the thief) to steal them. If you've played the game then you know Shir only steals at random, and even then she steals random items. I used Shir to steal so many times that I have enough Star Mists and Moon Dews to fill everyone's possession list completely.

Even with all this, there was one area of the game I was far from maxing out. My money was only up to $3 million and presumably you can have up to $9,999,999. Considering the most expensive item in the game costs $50,000 having a bank account with $3 million is pretty impressive. Still, I would have expected my money to be higher given all the fighting I had to do to max out my characters.

Given how strong my characters were, I could defect the final two bosses (Dark Force and Mother Brain) using ANY characters. I could go into battle with the "weakest" characters such as the Amy and Shir and still defeat them.

Friday, December 2, 2011

Replacing a video game cartridge battery without losing saved data

Back in the 8-bit and 16-bit video game days, a small number of game carts contained a battery in them. They used a small lithium battery to allow games to be saved on the cartridge. Before the 8-bit days I don't think they had saved games, and after the 16-bit days they used flash memory. So this is really a small number of 8-bit and 16-bit games that have batteries. But these batteries won't last forever, in fact most of them are probably dead by now. Amazingly enough I have a cartridge at home that still has saved game data 20 years later!

Replacing the battery isn't too difficult as long as you have some soldering skills, but doing so will erase any data saved on the cartridge. I own Phantasy Star 2 on the Sega Genesis (Mega Drive) that has some pretty incredible saved games that I want to preserve. So this is my attempt to replace the battery without losing saved games.

1. Opening the cartridge
This step may seem straightforward, but it may be more complex. The Sega Master System used standard philiips screws, but the Sega Genesis uses a security bit. So you may need to buy a security bit to open the cart, or find another creative way to open it. Once open you need to identify the type of battery. All Sega carts I've seen use a CR2032 lithium battery. Here are pictures of the front and back of Phantasy Star 2.




2. Buy replacement batteries
Once you know the type of battery you need to order replacement batteries. Yes, you need to order 2 batteries for this to work. I highly recommend you order "tabbed" batteries. Soldering directly onto batteries is difficult and can be dangerous. These replacement batteries should be fairly cheap. I got mine from newark for $2.57 each.


3. Add a battery in parallel
For this technique to work you need to solder a second battery onto the cartridge in parallel with the existing battery. In theory this battery will continue to provide power while replace the battery soldered into the cartridge itself. When soldering in this second battery be sure and get the polarity right.


4. Replace the battery
With the temporary battery in place, you can now desolder the old battery and solder in the new one. Removing the battery is very easy with a solder sucker, or you should be able to get it our using just solder wick. Once the original battery is out you can solder in the new one. You may need to bend the pins so they align with the holes in the circuit board. Also, as before make sure you get the polarity correct. Here's a picture of the new battery soldered to the board after I removed the temporary battery.


You can now reassemble the cartridge and try the game out. When I did here's what I got:


FAILURE! Crap, I just lost all my saved games.

So what happened? Well I can only think of one reason why this failed. Soldering requires very high temperatures, so the circuit traces around the battery were briefly subjected to temperatures in excess of several hundred degrees. A general rule of electricity is as temperature increases so does resistance. So my guess is the resistance increased causing a drop in voltage and current sufficient to cause a lose of stored data.

Is there a way to get around this and still make it happen? I can think of two ideas. First, if you used a voltage source higher than a single lithium battery (3.6V) the increased voltage might be enough to overcome the increased resistances from heat. Of course, this becomes tricky because too much voltage could "fry" the chips on the circuit board. The only other suggestion I can think of is to buy a retrode. This device allows you to read and write saved game info directly from the cartridge. So you could save the data to your computer, replace the battery, then restore the data.

Well even though my attempt was a failure, I'm glad I did it. It was a fun project, and these new batteries should last another 20 years.