Archive for the 'Hacks & Projects' Category

Weekend Projects for Armchair Developers: Text Misadventuring (Part II)

Friday, May 19th, 2006

Zork I[Editor’s Note: Apologies for not getting this up sooner. Johnny had it ready a few weeks ago, but as you all probably know, I was busy moving. Anyway, here it is.]

(This’ll be a short read.)

I hope you’ve all saved your coupons. After an epic battle with the foul beast known as Procrastination, I’ve completed WPfADs: The Game, my first stab at the text adventure genre. To the best of my play-testing knowledge, it’s bug-free and entirely playable. And because I like you, I’ll give the link to download it right at the top of this article:

Weekend Projects for Armchair Developers: The Game

From my experience writing the game, I’ve learned a few things. First of all, Weekend Projects for Armchair Developers is an agonizingly clunky name. It’s really just something I made up for the first article because I thought it sounded funny. Although it could be worse — my first idea was “Programming for Fun and Non-Profit.” Let’s just make a mutual agreement right now to call the thing by its slightly less ridiculous acronym, “WPfADs.”

Secondly, Inform is a great programming language, and one that I’ve barely scratched the surface of with the game and Part I of this writing. With considerable time and effort (and patience), you can create a truly epic, sprawling work, with plenty of polish. My game isn’t that expansive, as I wanted to complete within a reasonable deadline (say, within the year), but I’m now itching to learn some of the finer points of the language and make something more ambitious.

The thing that makes Inform such a good programming language is that it’s actually quite cathartic at times. It has a leisurely learning curve, and games-without-reasonable-deadlines can be built up at your own pace. Also, did I mention that it’s very easy to learn? I’d encourage anybody reading this to try their hand at their own text adventure, and let me know how it turns out.

Speaking of comments, as always I’m putting the requisite “I’d love to hear some feedback” line at the end. If you find any bugs with the game (I’m sure there’s probably one or two small ones that escaped me), tell me.

That’s all. Try Inform for yourself. You’ll probably enjoy it.

R&D Automation Taking Pre-orders for v2 Apple II Compact Flash / IDE Interface Card

Tuesday, April 18th, 2006

CFFAI’ve never been a huge fan of using emulators for any computer that I actually physically possess. The original hardware is almost always where it’s at — the unique look, the feel, and even the smell of a machine all add to the “authentic” user experience (kinda makes me sound like a wine snob, doesn’t it?). But original hardware breaks over time and sometimes becomes irreplaceable since it’s no longer in production. That’s where people like Rich Dreher step in with modern upgrades for vintage computers (for more on this phenomenon, check out my “New Tech for Old Computers & Game Systems” list).

Rich is now on the second revision of an impressive Apple II hardware add-on card he designed called the “CFFA” that enables any Apple II system to use a compact flash card, IBM MicroDrive, or IDE hard drive for storage. While definitely not the first Apple II IDE interface I’ve seen (or owned), this is a very slick piece of hardware. Here’s a brief rundown of its features, taken from the official site:

  • Standard Apple II form factor Card 3″ x 6″ (Usable in any slot, except slot 3 in IIe and later)
  • A Compact Flash/IDE Interface for Apple II family of computers (Type II Compact Flash socket — IBM MicroDrives work too)
  • Standard 40 pin IDE header connector
  • 3 terminal screw type power connection for IDE hard drives
  • Support for up to 128 MB (4 drives) or 256MB (8 drives) under ProDOS and GS/OS (without Dave’s GS/OS driver)
  • Support for up to 128MB, (four ProDOS 32MB drives) plus two 1GB drives under GS/OS (with Dave Lyons’ GS/OS driver)
  • On-board EEPROM for SmartPort firmware
  • User jumper to select 1 of 2 versions of the firmware
  • Allow booting ProDOS or GS/OS directly from the Interface card (for a floppy-less system)
  • Firmware available for 6502 machines (II, II+, IIe) and 65C02 machines (IIe enh, IIe platinum, IIgs ROM1 & ROM3)

Particularly attractive is, of course, the built-in CF socket. I recently read on Rich’s site that there’s even a new utility called “CiderPress” that will let you transfer files to / from the Apple II-formatted CF card when it’s plugged into a Windows machine!

Despite all its neat capabilities, what is actually most important about this card is that it’s actually for sale (currently US $105 plus shipping). Extremely unique short-run hardware doesn’t stay around for very long, so if you’re interested, don’t hesitate to jump on it while you still can. I’ve already got mine on order and am looking forward to running my Platinum IIe from a compact flash card soon.

Weekend Projects for Armchair Developers:
Text Misadventuring (Part I)

Friday, April 14th, 2006

Zork IFlush from the mild success of the first article, I sat down to write the next installment of Weekend Projects for Armchair Developers. I stared blankly at the computer monitor, filled with a mild dread of what lay before me. I knew that the next programming language I had chosen would prove to be quite the thorny pickle. Browsing through the example included with the ZIP file I downloaded and thumbing through the small section in a “Retro Hacking” booklet I received last Christmas, I felt a bit overwhelmed.

Inform is an obscure language with its roots in the Infocom-brand text adventures of a bygone era. Growing up with such classics as Zork and Hitchhiker’s Guide to the Galaxy, I was no stranger with their work. And it was this feeling of nostalgia that drove me through the task of deciphering this seemingly-apocryphal language.

The Inform community is notoriously small. At last count, I believe there were about three people left. I think it might be because I personally have a tough time reading Inform (although, to be fair, I have seen tougher). But I was up for a challenge. So, flexing my typing-muscles, I dove straight into the beast.

Screencap

Finding the right files to download and learning how to use them is not an easy task. I blame the website. Fortunately, I’ve already braved the murky depths for you and found the installation notes. I would strongly suggest downloading the folder structures they provide for you, as they contain all the files you need to get started. In fact, I would strongly suggest reading the entire Inform FAQ when you get the time, but since you’re currently engaged in reading this article, that can wait.

[ Continue reading Weekend Projects for Armchair Developers:
Text Misadventuring (Part I)
» ]

Captain Hamfest and the Tale of the Infamous Nail-to-Ground Commodore 64 Hack

Tuesday, March 7th, 2006

C64 Nail-To-Ground HackI have a box of about eight musty, “doorstop quality” Commodore 64’s (C64) and VIC-20’s sitting up in my attic. They came from a local hamfest a few years ago. It was getting late in the show that day and the vendors were tired and wanted to go home. At the end of any hamfest, vendors have tons of near-worthless, unsold, bulky junk that they’d usually rather throw away than drag back to their car. I have been stuck in a situation at least four or five times where I was interested in buying one item, but would only be allowed to purchase the item if I agreed to haul off all kinds of other crap for the seller. In this case, I just wanted to buy a single box of C64 disks that I noticed sitting on a table, but the guy would only sell it to me if I agreed to take six C64s, five Vic-20s, a few disk drives, lots more accessories and carts, and…well, there wasn’t just one box of disks, after all, but more like ten. It was like some Vaudeville routine: as soon as I thought the seller had pulled the last box of Commodore-spew from under the table and turned to leave, he’d say “oh wait!” and pull out another one. At this point my father, who was saddled with the unenviable task of helping me carry all these musty artifacts to our car, had a severe grimace on his face. That day I inherited some guy’s entire Commodore collection for $10, including his massive anthology of pirated C64 game disks (complete with a thick three-ring-bound index to the disks!), and I think my dad inherited some permanent “Commodore grimace” lines in his forehead.

C64 Nail-To-Ground HackI climbed up into my fiberglass dust-ridden attic the other day, looking for an ideal donor of a 6510 processor to add to my CPU collection. Temptingly, in my Commodore box there was a C64 already apart and in pretty bad shape — an ideal sacrificial Commie to dissect. Upon bringing it down and looking inside the case, I found something pretty amusing: some guy — presumably the previous owner — was fiddling with the power connector in the unit and somehow broke the ground contact and corresponding pin off the connector. It looks to me like he was in the middle of laboring to remove the connector when he was abruptly struck with Sudden Onset Lack-Of-Patience Disorder (or SOLOPD, a common affliction amongst electronics tinkerers). Soon after, his strategy for connector removal became “rip it off any way you can.” Unsurprisingly, he broke his machine in the process. Through the magic of literary time travel, we can infer what obviously happened afterwards as he attempted a repair:

There he was, cradling the lifeless body of a broken C64 in his arms, crying and cursing himself for his impatience and uneven temperament. He broke down on his knees and swore to the heavens to never harm another 64 again if only the Commodore Gods would ease his suffering and forgive him for his mistake. But alas — his cries of desperation fell only on deaf ears (the 22 year-old family cat). And like any man whose most desperate call goes unheard, something turned inside him. For a brief moment, all that was dark and cruel welled up within him, twisting his soul in queer ways as a streak of fiery evil flashed over his hollow eyes. He raised his arms, clutching the helpless computer over his head, and nearly bashed the faulty unit into the darkest form of oblivion. But at the last moment, something stopped him: a key from the unit fell to the floor beneath him. It was the “plus” key — the very first key he pressed on the greatest day of his life. Vivid images of his 15th birthday flooded his head, filling him with a deep sense of regret over what he almost did. It was on that day that he received the very machine he was clutching from his late grandfather. How could he forsake old Roy — always happy, smiling, and helpful — and the desire for a better life that he handed down to his only grandson in the form of a $300 personal computer? It was then that the man decided that he should spare the machine; he would fix it. But how would he achieve such an impossible task? He didn’t have any spare C64 power connectors, and, after all, replacing the connector required removing the old one — the very problem that got him into this mess to begin with! Frantically searching for a solution, he scratched through his junk box until his fingers nearly bled. In the dustiest, farthest back corner of his tattered box, he found it: a nail. Yes! He thought back to his summer job as a carpenter with his grandfather’s construction business — lesson number one in his carpentry training taught him that a common picture frame-hanging wall nail, when used properly, was the perfect solution to any troubling situation. He quickly put his MacGyver-like improvisation skills to work, firing up his soldering iron to melt the broken connector’s mangled plastic and fuse the nail in place. After an intense four-hour operation with many close-calls and stressful moments, he was finished. He plugged the proper power supply into the machine and, with great tension, flipped it on. Tears of joy streamed from his reddened, tired eyes as he saw the bright, vibrant power LED light up. “If only Papa Roy were here to see this,” he thought, as he ran his hand across the smooth back of his favorite machine. “May this heavy light that shines upon me forever serve as a beacon, steering and guiding me through the foggiest, darkest, and stormiest nights of my life.” The ordeal was finally over, and he knew he would never be the same man again.

Yes, he used a nail to act as a ground contact, bridging the outer ground ring of the C64’s DIN power connector and the RF shielding of the cartridge port. Does it really work? I don’t know; I don’t care to try. Personal revelations for the man aside, this has to be the messiest improvised hack I’ve ever seen in my life. At least we got a good story out of it.

C64 Nail-To-Ground Hack

Hacks like these should make us all stop and think more deeply about ourselves.

What Should I Hack Next? A PowerBook 190.

Thursday, March 2nd, 2006

PowerBook 190On Monday I did a hack of a NES that I will be posting an article about soon, but I’m already hungry for my next project. I’ve caught the hacking bug, I tell ya — since I finished my last project I’ve been compulsively and obsessively looking at every object in my house in a new way, asking myself “How can I chop that device into pieces and turn it into something more interesting?” Lurking in the bottom of a closet I found an ideal candidate for a hack: an old Apple PowerBook 190 (Apple’s last 680×0 machine, circa 1995) that I bought at a local hamfest for $10 a few years ago. It works fine except for a broken screen hinge. Since it’s “broken” I thought it would be a good choice to play with.

PowerBook 190A lot of people are making their own digital picture frames out of old laptops these days (mounting a laptop screen in a picture frame with the computer behind it to hang on the wall and display a random picture slide show), but my 190 only has a 4-bit greyscale passive matrix display, so pictures won’t look too impressive on it. It would be cool to make a semi-permanent, wall-mountable installation out of it, but what would it display? Well, if I could get a reliable network connection to it, it could be a window on all kinds of things on the net, displaying activity from my MUSH, weather info, VC&G traffic statistics, news, or any number of things, as long as there is an application that runs in Mac OS System 7.5.2 to display it. My fiance suggested a permanent digital ant farm, which is a great idea, but I still haven’t found a program or screen saver for the classic Mac OS that simulates one in an aesthetically pleasing way. A friend of mine suggested that I put some form of Linux on it and then I could do all sorts of network-related things that are not as easily achieved in Mac OS 7. But putting Linux on a Mac this old and getting it to work — especially with some ethernet adapter — is a challenging project unto itself. So I’ve been tinkering and I’ve got some new ideas, but I’ll wait until I’m done to share them with you (I’ll give you a hint — well, kinda — just look at the picture above). Until then, I ask you: what should I hack my PowerBook 190 into? Ideas? Suggestions? Leave me a comment and we’ll talk!

Weekend Projects for Armchair Developers:
TI Calculator Game

Friday, February 24th, 2006

[Editor’s Note: This article was written by Johnny as his first contribution to VC&G.]

If you’re a middle-class American between the ages of 14 and 28, chances are high that you or someone you know has access to a Texas Instruments TI-81 graphing calculator or one of its predecessors. I myself own a top-of-the-line TI-84 Silver Edition. And, not too long ago, I learned about the secret underground world that is…TI-BASIC.

To the average High School- or College-level student, the PRGM key is one that goes woefully unused (unless in conjunction with the 2ND key, so as to draw inappropriate images for your friends, or in conjunction with the ALPHA key, to use the letter ‘C’ in inappropriate messages for your friends). Pushing it reveals an esoteric “EXEC – EDIT – NEW” interface, and, really, who needs homebrewed Prgms when you’ve got MirageOS and a rousing game of Tetris?

[ Continue reading Weekend Projects for Armchair Developers:
TI Calculator Game
» ]

Tired of Power Flashes Ruining Your Classic Game Progress? Get a UPS.

Sunday, February 19th, 2006

Here’s a quick gaming tip that especially applies to those of you with shoddy power companies. For years, it seemed my house would have power flashes at least a couple times a month. There was something about the power on my block that was especially unreliable (nearby transformers seemed to blow all the time), and it got really annoying. Naturally, I got UPS (Uninterruptible Power Supply) units for all my computers early on so the flashes wouldn’t affect them. For those of you who don’t know, a UPS is essentially a box with a rechargeable battery in it that stays plugged into a wall outlet, and the devices to be “protected” are, in turn, plugged into the UPS. When the power is on, the battery in the UPS is kept constantly charged. But when the power goes out, the battery switches over, seamlessly providing continuing power to the protected outlets on the unit for as long as the battery holds out, or until the power comes back on — whichever comes first.

UPSes for computers are quite common these days (I consider UPS units for computers an absolute must), but there were a few occasions where I would be playing a long video game (that I couldn’t save) and the power would flash, making me lose all my progress. The last straw happened a little over a year ago when I was completely playing through Super Mario Bros. 3, trying to go through every level and explore every secret, just for old time’s sake. I played one day for probably about six hours until I got to world 8, then I took a break. The break lasted longer than one day, however — I left the NES on, intending to finish it later. But by the time I got back to the game, I discovered that the power had flashed, resetting the system and losing my progress. After that, I immediately ordered a UPS to cover all my game systems and prevent the same thing from happening in the future. Now all my game systems are on UPSes, whether classics like the NES or modern systems like the Xbox.

If you’d like to get a UPS unit for your game system(s), I have a few tips. The first is to get the cheapest unit possible. It doesn’t have to be an industrial-strength, heavy-duty UPS that will keep your game running for an hour or more while the power is out. Usually you’re only combating intermittent power flashes, so you only need one with a modest battery capacity. Tiger Direct used to sell a cheap, no-frills UPS unit for about $20, but it seems that they don’t carry those anymore (I bought about four of them a few years ago for various computers, and they still work well). Instead, go for something that is under $40 US, as a general guideline. A refurbished unit probably wouldn’t be bad either, as long as it’s from a trusted source. Again, remember that we’re not trying to protect mission-critical servers here, but to simply prevent power flashes from messing up your game. Sure, a UPS is extra cost, but investing in one now could possibly save you lots of headaches, frustration, and smashed controllers in the future.

Shortcut to Booting MS-DOS on the Compaq IA-1

Tuesday, January 10th, 2006

IA-1Ah…more on my continuing adventures with the not-so-vintage, but very much obsolete Compaq IA-1. I got Midori Linux running long ago, but I’ve since longed to turn this thing into an MS-DOS machine, maybe to play some old shareware games with. The hardest part of booting MS-DOS on the Compaq IA-1 is making a bootable partition on a compact flash card. The IA-1 treats its compact flash slot it has like a regular ole IDE hard drive connection, as compact flash cards have a native mode that emulates IDE hard drive behavior (and therefore, the compact flash, when in use, is not hot-swappable). The problem arises when you try to format a compact flash card using a common USB compact flash adapter: Windows treats the card as a removable drive, and thus, no low-level formatting options (like making it bootable with system files on it) are available.

Luckily, with a tip from the I-Appliance BBS (an incredible resource, by the way), I found a freely-distributable program from HP that they made to format their Disk-On-Key USB JumpDrives (or whatever they call them newfangled things these days) to make them bootable. And guess what– it seems to work with all removable drives! It’s an incredibly nifty little program; there’s even a DOS version. So how do you get it? Relax, I’ve done all the work for you (impatient people who don’t actually read what I write will no doubt be struggling to find the link — buried in the text!). Here, in this file, is a perfect little Compaq IA-1 MS-DOS kit. Included in the zip file is the aforementioned program installer (for Windows, also includes DOS version), and a directory containing a modified version of MS-DOS that came with Windows 98 (some wise-guy Windows-hata changed all the files to say “MS-DOS 7.10” instead of “Windows 98” when you boot, etc., but it works great). All you have to do is install the program, set up your compact flash adapter, insert a card, run the HP program, and format it to include system files. When it asks which files to include, simply point it to the “MS-DOS 7” directory that is included in the ZIP. There you go.

After that, you’re on your own. I’ve played a few games of Scorched Earth and ZZT on it so far, but it’s a tad bit lacking without any sort of PC speaker sounds. Also, I have absolutely no DOS drivers for any of the IA-1’s built-in hardware, so unless you find them or write your own, you’re stuck to only the most rudimentary of programs. But still, MS-DOS on the IA-1 is a wonderful starting point to bigger and better things. Windows 98 on a microdrive anyone?

Another IA-1 update: I bought a used NetGear MA111 wireless 802.11b wireless network adapter because its chipset is supposedly supported by the drivers built-into the Midori Linux distro I’m using. So far, no luck getting it working, but I haven’t tried everything yet. I’ll mess with it some more later.

Also, here’s a cool PC World article on why Internet Appliances never took off. Tomorrow’s computer collectibles…today! Get ’em before they hit the dump.

Midori Linux on the Compaq IA-1 (Update)

Tuesday, December 20th, 2005

IA-1I had no trouble putting Midori Linux (best package found here) on the IA-1 last night after following these instructions (and using a program called WinImage instead of Dskprobe in Win2k). For anyone taking notes, make sure you use the El Torito image first before attempting to install/boot Midori, as listed in the instructions above.

This thing is cool. I never expected to have so much fun with it. The particular Midori distribution I used has been tailored specifically to the unit, so everything works instantly — LCD, keyboard, sound card, modem, USB ethernet, and USB wlan drivers are included. It’s got an XFree86 GUI with the Ice window manager (looks nice) and some apps like Opera, an email client, and an MP3 player, which are useful. It’s amazing they squeezed all that stuff into 16 megs of space. Once I get a USB ethernet NIC, I’m thinking about putting it in the living room, hooking it to the stereo, and using it as a streaming MP3 client (The XMMS MP3-player built into the Midori package supports this). You could do a lot of neat stuff with this machine. Maybe I’ll put MS-DOS on it and run a BBS. Or perhaps it should be my dedicated Klondike solitaire machine. 🙂 Either way, this thing is neat. If you can find one for under $30 and are comfortable with doing some simple modifications, get it.

(Update: 01/28/2013 – Since most of the Compaq IA-1 pages out there are dead now, I’ve decided to host a version of the Midori Linux image for the Compaq IA-1. You can download it here. It also includes the El Torito boot image and instructions on how to use it in a text file.)

Latest Crush: The Compaq IA-1 Internet Appliance

Monday, December 19th, 2005

IA-1I got my Compaq IA-1 today. It’s a spiffy little Internet machine from the peak of dot-com optimism (read: circa 2000). Unfortunately, it only runs a dumbed down version of Windows CE, was designed to use only Microsoft’s MSN ISP service, doesn’t have an Ethernet card built-in, and won’t do anything unless you’re connected to the Internet. So why get it? Because it was absurdly cheap and really neat-looking — and you can put Linux on it! That’s right, folks…these days, someone could find a way to put Linux on my toilet if they tried hard enough, and I wouldn’t be surprised if there is already a guide somewhere out there to do just that.

Some of the unit’s virtues are thus: a 266MHz AMD K6 CPU, 32MB SDRam, internal 16MB Flash RAM, integrated 800×600 color LCD display, four USB ports, a 56K modem, built-in microphone and speaker, a compact flash slot, wireless IR keyboard, and it’s tiny! Supposedly, the best form of Linux for the IA-1 is a variant called Midori, so I’ll try that out and let you know how it goes. With any luck, I’ll have an underpowered web-browsin’ machine in a few days. What’s the point? I have no idea. It’s the hack that counts.