Binary Division When Your Processor Lacks Hardware Division

[Hamster] wanted to take a look at division operations when the chip you’re using doesn’t have a divide instruction. He makes the point that the divide instruction takes a lot of space on the die, and that’s why it’s sometimes excluded from a chip’s instruction set. For instance, he tells us the ARM processor used on the Raspberry Pi doesn’t have a divide instruction.

Without hardware division you’re left to implement a binary division algorithm. Eventually [Hamster] plans to do this in an FPGA, but started researching the project by comparing division algorithms in C on an AMD processor.

His test uses all 16-bit possibilities for dividend and divisor. He was shocked to find that binary division doesn’t take much longer than using the hardware instruction for the same tests. A bit of poking around in his code and he manages to beat the AMD hardware divide instruciton by 175%. When testing with an Intel chip the hardware beats his code by about 62%.

He’s got some theories on why he’s seeing these performance differences which we’ll let you check out on your own.

Power Strip Hack Reduces Standby Electricity Consumption

computer-standby-circuit

For years, [Rasmus] has left his computer connected directly to the mains power so that he can turn it on via Wake on Lan. While powered down, it would still continuously consume about 6W of electricity, but now that he didn’t need it to be on standby so often, he wanted to make it more energy efficient.

In Denmark, where he lives, many people use power strips that have an onboard USB cable. These strips are meant to reduce the standby power consumption of PC peripherals such as monitors by powering on the mains sockets only when the computer is active. He decided the easiest way to cut his standby energy consumption to 0W would be to power his computer via this strip as well.

While it sounds great in theory, it presented a sort of chicken/egg problem. If the computer needs to be turned on for the power strip to recognize it, then how could he also supply power to the computer from the same strip? His solution was a small circuit that would charge up while the computer was running, and still hold enough juice to kickstart the PC’s boot process, thus turning on the power strip.

It really is an ingenious way to go about things, nice job!

Monitoring Batch Jobs The Cylon Way With Python And A Parallel Port

parallel-port-trigger

If you happen to do a lot of video encoding, you know that your computer can really drag while the process is carried out. Our own [Mike Szczys] transcodes videos at home fairly often, and because the process is automated, he doesn’t always know if a conversion is taking place in the background.

He has been tinkering with Larson Scanners recently and thought he could put everything he’s learned along the way to good use by using the scanner as a “busy” indicator for his PC. He hooked the scanner up to the computer’s parallel port, and took a few minutes to bang out some Python code that would alert him when his PC was busy.

He set his notifier script to launch along with FFMPEG, whenever his MythTV setup had something ready to convert. The Python script drives a pin on the parallel port high, triggering the Larson Scanner’s animation. Every minute, the script checks the status of FFMPEG and continues to hold the pin high until the application exits. Once the conversion is done, the scanner goes back to sleep, letting [Mike] know that the coast is clear.

Check out the video below the break to see his parallel port trigger in action.

Continue reading “Monitoring Batch Jobs The Cylon Way With Python And A Parallel Port”

ColorHug: A Reasonably-priced, Completely Open Color Calibration Tool

colorhug-opensource-color-calibrator

[Richard] wanted to create a color profile for his computer monitor, but he wasn’t thrilled with the existing color calibration offerings he found for sale. Color calibration tools can be somewhat costly, but even more troubling to [Richard] was the fact that they are all closed source. Closed hardware and closed software can be a drag, especially when manufacturers drop support for a product, so he set off to design his own open-source monitor calibration tool.

Once his ColorHug sensor is placed against a monitor, it begins sampling colors from the screen, creating an ICC color profile from the data it gathers. The sensor is a Linux-only tool at the moment, but he has created a live CD from which a color profile can be created, then subsequently used in Windows or OSX.

While ColorHug doesn’t sport all the features of its commercial competitors, its color sampling rate is second to none, and since the software is open, anyone is free to implement any sort of functionality they wish.

[Richard] is currently selling finished ColorHug modules to anyone interested in giving them a test drive, but you can always build your own from the plans found at ColorHug’s Github repository.

[via Adafruit blog]

NES Controller Is A Slick Way To Carry Around Your Portable OS

nes-controller-linux-drive

[Oliver] had an old NES controller laying around, and without any other use for it, he decided to repurpose it as a portable storage device.

He gutted most of the controller, removing the plastic standoffs, leaving the D-pad and remaining buttons intact. He crammed a 32 GB flash drive inside, along with the guts from an SD card reader. Using a Dremel he cut several openings into the controller, one for the flash drive and SD card reader’s USB ports, as well as for the SD card itself. When the physical modifications were finished, he installed a small Linux distro on the flash drive, which can be run by any PC that supports booting from USB.

While some might argue, we think it’s a neat way to reuse an old gaming peripheral that he might have otherwise thrown out. The portable OS is something that would certainly come in handy, though we can’t wait until the Raspberry Pi is finished – it would be awesome to have a complete computer packed in there too.

Recovering A Corrupted EEE PC BIOS

recovering_eeepc_bios

[Jeremy] had an ASUS EEE PC 1000HE netbook on his hands which had succumbed to a corrupted BIOS. In most situations, people replace a motherboard when the BIOS is damaged beyond repair, but considering the price of motherboards, especially those built for portable devices, he simply refused to go that route.

Instead, he took it apart and did a little investigation to find out what SPI flash chip ASUS used in the netbook. With that information in hand, he put together an SPI flash programmer using a breadboard and a DLP-USB1232H USB to UART module. He couldn’t program the flash chip in-circuit, so he had to desolder it and deadbugged it onto his programmer. Using a few Linux-based flashing tools, he was able to reprogram the chip with a functioning BIOS in short order, saving him from a costly motherboard replacement.

While some motherboard manufacturers have built in secondary BIOS chips to prevent the need for this sort of recovery, it’s nice to know that the process is relatively straightforward, provided you have some basic soldering and Linux skills.

This also isn’t the first time we’ve seen someone recover an EEE PC from the brink – if you’re looking for an Arduino-based alternative, be sure to check this out.

external_laptop_gpu

Beefing Up Your Laptop’s Gaming Chops With An External GPU

If you’re not willing to shell out for a reasonably powerful laptop it seems that there’s not a ton that can be done to boost your gaming performance. That is, unless you have an empty Express card slot and the right chipset.

[Phatboy69] recently put together an external video card for his notebook, with fantastic results. His Vaio Z128GG had an Nvidia GT330M graphics card onboard, which is decent but nothing to write home about. Using an Express card to PCIe adapter, he added an external Nvidia GTX580 to his system, and he couldn’t be more pleased with the results. While the card does take a performance hit when connected to his laptop in this way, he claims that his graphics performance has increased ten-fold, which isn’t too shabby.

There are many variables on which this process is heavily dependent, but with the right amount of tweaking, some great laptop gaming performance can be had. That said, it really does take the portability factor of your notebook down to about zero.

If this is something you might be interested in, be sure to check out this thread over at the Notebook Review Forums – it’s where [Phatboy69] found all the information he needed to get his system up and running properly.

[Thanks, Henry]