Oh, the hijinks that the early days of the PC revolution allowed. Back in the days when a 20MB hard drive was a big deal and MS-DOS 3.1 ruled over every plain beige PC-clone cobbled together by enthusiasts like myself, it was great fun to “set up” someone else’s machine to do something unexpected. This generally amounted to finding an unattended PC — the rooms of the residence hall where I lived in my undergrad days were a target-rich environment in this regard — and throwing something annoying in the AUTOEXEC.BAT file. Hilarity ensued when the mark next booted the machine and was greeted with something like an inverted display or a faked hard drive formatting. Control-G was good to me too.
So it was with a sense of great nostalgia that I watched [Ben Cartwright-Cox]’s recent 35C3 talk on the anatomy and physiology of viruses from the DOS days. Fair warning to the seasoned reader that a sense of temporal distortion is inevitable while watching someone who was born almost a decade after the last meaningful release of MS-DOS discuss its inner workings with such ease. After a great overview of the DOS API elements that were key to getting anything done back then, malware or regular programs alike, he dives into his efforts to mine an archive of old DOS viruses, the payloads of most of which were harmless pranks. He built some tools to find viruses that triggered based on the system date, and used an x86 emulator he designed to test every day between 1980 and 2005. He found about 10,000 malware samples and explored their payloads, everything from well-wishes for the New Year to a bizarre foreshadowing of the Navy Seal Copypasta meme.
We found [Ben]’s talk a real treat, and it’s good to see someone from the current generation take such a deep dive into the ways many of us cut our teeth in the computing world.
Continue reading “35C3: A Deep Dive into DOS Viruses and Pranks”
Over the years, computers have become faster, but at the same time, more power hungry as well. Way back around the 386 era, most PCs were using the AT standard for power supplies. Since then, the world moved on to the now ubiquitous ATX standard. Hobbyists working on older machines will typically use these readily available supplies with basic adapters to run old machines, but [Samuel] built a better one.
Most AT to ATX adapters are basic passive units, routing the various power lines where they need to go and tying the right pin high to switch the ATX supply on. However, using these with older machines can be fraught with danger. Modern supplies are designed to deliver huge currents, over 20 A in some cases, to run modern hardware. Conversely, a motherboard from the early 90s might only need 2 or 3A. In the case of a short circuit, caused by damage or a failed component, the modern supply will deliver huge current, often damaging the board, due to the overcurrent limit being set so high.
[Samuel]’s solution is to lean on modern electronics to build an ATX to AT adapter with programmable current protection. This allows the current limit to be set far lower in order to protect delicate boards. The board can be set up in both a “fast blow” and a “slow blow” mode to suit various working conditions, and [Samuel] reports that with alternative cabling, it can also be used to power up other old hardware such as Macintosh or Amiga boards. The board is even packed with extra useful features like circuitry to generate the sometimes-needed -5V rail. It’s all programmed through DIP switches and even has an OLED display for feedback.
It’s an adapter that could save some rare old hardware that’s simply irreplaceable, and for that reason alone, we think it’s a highly important build. We’ve talked about appropriate fusing and current limiting before, too – namely, with LED strips.
If you doubt the power of the Hackaday community, check this one out. Stalwart reader and tipster [starhawk] has pitched in to help a friend in need, someone he met through Hackaday.io. Seems this friend’s current living arrangements are somewhat on the cramped side, and while he’s in need of a PC, even a laptop would claim too much space.
So with a quick trip to the store and a few items from the junk bin, [starhawk] whipped up an all-in-one PC the size of a tablet for his friend. As impressed as we are by the generosity, we’re more impressed by the quality of his junk bin. The heart of the compact machine is a motherboard from a Wintel CX-W8, scarcely larger than a Raspberry Pi model A. After the addition of a larger heatsink and fan, the board was attached via a sheet of plastic to the back of a 7-inch touchscreen, also a junk bin find. A cheap picture frame serves as the back of the all-in-one, complete with Jolly Wrencher, of course. Alas, the DC-DC converter was one of the only purchased items, bringing the cost for the build to all of $22, including the $15 for a wireless keyboard/touchpad on clearance from Walmart. After some initial power troubles, the fixes for which are described in this update, the machine was ready to ship.
Does this one seem familiar? It should — [starhawk] built a similar “laptop” for himself a while back when he was low on funds. Now it seems like he’s paying it forward, which we appreciate. For more details on how he pulled this all of, check out The Anytop, [starhawk’s] portable computer anyone can build. It was his 2017 Hackaday Prize entry!
As [Matt] from [DIY Perks] was about to assemble a new PC, he decided to take a unique direction when it came to building a case. Despite the appearance of a woodworking piece with weird industrial radiators, there is actually a full-fledged, high-end PC hidden inside.
Those radiators are a pair of almost-the-biggest-you-can-buy heatsinks — one of which has been modified to fit the graphics card. Separating the graphics card’s stock cooling fan unit cut down significantly on noise and works with the stringent space requirements of the build. Those fans however keep other components on the card cool, so [Matt] cut pieces of copper plate to affix to these areas and joined them to the heatsink with a heat pipe, bent to shape. The elm wood case then began to take shape around the graphics card — cut into pieces to accommodate the heat pipes, and sealed with black tack to dampen the ‘coil whine’ of the GPU; it turns out the likely culprit are the MOSFETs, but close enough.
Continue reading “High End PC Gets A Rustic Woodworking Piece Of Art For A Case”
There are plenty of PC joysticks out there, but that didn’t stop [dizekat] from building his own. Most joysticks measure position mechanically using potentiometers or encoders. Only a few high-end models use Hall effect sensors. That’s the route [dizekat] took.
Hall effect sensors are non-contact devices which measure magnetic fields. They can be used to measure the position and orientation of a magnet. That’s exactly how [dizekat] is using a trio of sensors in his design. The core of the joystick is a universal joint from an old R/C car. The center section of the joint (called a spider) has two one millimeter thick disc magnets glued to it. The Hall sensors themselves are mounted in the universal itself. [Dizekat] used a small piece of a chopstick to hold the sensors in position while he found the zero point and glued them in. A third Hall effect sensor is used to measure a throttle stick positioned on the side of the box.
An Arduino micro reads the sensors and converts the analog signal to USB. The Arduino Joystick Library by [Matthew Heironimus] formats the data into something a PC can understand.
While this is definitely a rough work in progress, we’re excited by how much [dizekat] has accomplished with simple hand tools and glue. You don’t need a 3D printer, laser cutter, and a CNC to pull off an awesome hack!
If you think Hall effect sensors are just for joysticks, you’d be wrong – they work as cameras for imaging magnetic fields too!
You’ll all be familiar with the PC, the ubiquitous x86-powered workhorse of desktop and portable computing. All modern PCs are descendants of the original from IBM, the model 5150 which made its debut in August 1981. This 8088-CPU-driven machine was expensive and arguably not as accomplished as its competitors, yet became an instant commercial success.
The genesis of its principal operating system is famous in providing the foundation of Microsoft’s huge success. They had bought Seattle Computer Products’ 86-DOS, which they then fashioned into the first release version of IBM’s PC-DOS. And for those interested in these early PC operating systems there is a new insight to be found, in the form of a pre-release version of PC-DOS 1.0 that has found its way into the hands of OS/2 Museum.
Sadly they don’t show us the diskette itself, but we are told it is the single-sided 160K 5.25″ variety that would have been the standard on these early PCs. We say “the standard” rather than “standard” because a floppy drive was an optional extra on a 5150, the most basic model would have used cassette tape as a storage medium.
The disk is bootable, and indeed we can all have a play with its contents due to the magic of emulation. The dates on the files reveal a date of June 1981, so this is definitely a pre-release version and several months older than the previous oldest known PC-DOS version. They detail an array of differences between this disk and the DOS we might recognise, perhaps the most surprising of which is that even at this late stage it lacks support for .EXE executables.
You will probably never choose to run this DOS version on your PC, but it is an extremely interesting and important missing link between surviving 86-DOS and PC-DOS versions. It also has the interesting feature of being the oldest so-far-found operating system created specifically for the PC.
If you are interested in early PC hardware, take a look at this project using an AVR processor to emulate a PC’s 8088.
Header image: (CC BY-SA 3.0 DE).
There is a high probability that the device on which you are reading this comes somehow loosely under the broad definition of a PC. The familiar x86 architecture with peripheral standards has trounced all its competitors over the years, to the extent that it is only in the mobile and tablet space of personal computing that it has not become dominant.
The modern PC with its multi-core processor and 64-bit instruction set is a world away from its 16-bit ancestor from the early 1980s. Those early PCs were computers in the manner of the day, in which there were relatively few peripherals, and the microprocessor bus was exposed almost directly rather than through the abstractions and gatekeepers we’d expect to see today. The 8088 processor with an 8-bit external bus though is the primordial PC processor, and within reason you will find software written for DOS on those earliest IBM machines will often still run on your multiprocessor behemoth over a DOS-like layer on your present-day operating system. This 35-year-plus chain of mostly unbroken compatibility is both a remarkable feat of engineering and a millstone round the necks of modern PC hardware and OS developers.
Those early PCs have captured the attention of [esot.eric], who has come up with the interesting project of interfacing an AVR microcontroller to the 8088 system bus of one of those early PCs. Thus all those PC peripherals could be made to run under the control of something a little more up-to-date. When you consider that the 8088 ran at a modest 300KIPS and that the AVR is capable of running at a by comparison blisteringly fast 22MIPS, the idea was that it should be able to emulate an 8088 at the same speed as an original, if not faster. His progress makes for a long and fascinating read, so far he has accessed the PC’s 640KB of RAM reliably, talked to an ISA-bus parallel port, and made a CGA card produce colours and characters. Interestingly the AVR has the potential for speed enhancements not possible with an 8088, for example it can use its own internal UART with many fewer instructions than it would use to access the PC UART, and its internal Flash memory can contain the PC BIOS and read it a huge amount faster than a real BIOS ROM could be on real PC hardware.
In case you were wondering what use an 8088 PC could be put to, take a look at this impressive demo. Don’t have one yourself? Build one.