Geekery and avoidance behaviors
May. 29th, 2008 08:43 pmToday, as you probably know, was my half day at work. Normally at least two other folks are there at the same time I am, even though the library is closed to the public. It's our time to make adjustments to equipment, clean things, rearrange furniture, change lightbulbs, and whatever else might be disruptive during open hours. I mostly use it for computer network stuff, like running backups and doing software patches or upgrades. Not today though. I was the only one there. I processed the interlibrary loan list, pulling books from the shelf and labeling them for delivery, because the delivery van comes to us pretty early in the morning. Then I sat down at my desk to start on some cataloging work. And the phone started ringing. And ringing, and ringing. It seemed like every time I'd hang up, it would ring again. Many were calls for the director, who is usually there on Thursday but wasn't today because she had a meeting elsewhere. I was tempted to quit answering, but that's not a good idea because the call could just as well be the mayor's office or the police department or someone else with something actually important. Or it could be the boss herself. ;p
It was nearly a wasted morning. When the phone would quiet for five minutes, then the back doorbell would go off for a delivery. Mail, UPS, bottled water, you name it and it was delivered this morning. Good thing I didn't have anything really critical to get done.
Came home, fed the dogs, put Tess out in the pasture in spite of a gloomy sky and forecasts of possible rain (it didn't.) Cleaned stalls, filled water buckets, still had some time before evening feeding and bringing Tess in. Should have worked on hemming up those towels, but instead I geeked out solving a small problem I've had with my CP/M notebook computer for several years.
The machine is a NEC Starlet, with no disk drives, and like a Radio Shack Model 100, runs entirely out of RAM and ROM. Consequently, it is really easy on batteries, but getting stuff in and out of the machine requires connecting a serial cable to another computer, or using a modem. Since I mostly use it for writing text, it doesn't matter much. However, back when I bought it I got a memory expansion cartridge for it. I got the largest then available (all of 256K, but memory was really expensive back then) and it's exactly the same capacity as a standard CP/M floppy disk, which is handy. Unfortunately, the machine BIOS doesn't see that whole space automatically. There was a little patch program that had to be run each time you booted up to make the entire cartridge space available for files.
The cartridge retains its contents by using a backup battery, one of those nickel sized flat things. You can see where this is going. I left the machine unused for too long at a stretch, the battery went dead, and the cartridge content was lost. No important writing was lost because I always copy that off as soon as possible. But the little patch program, which resided on the cartridge itself, was also lost. By then the manufacturer was long out of business, and the patch program was not available anywhere that I could find, even on the web. I knew it had to be fairly simple, just a patch to the disk parameter block in CP/M to adjust the size of the virtual drive, but I never got around to experimenting.
Over the weekend I found some misplaced CP/M manuals and realized that now was the time to fix that problem. The amazing thing is, I succeeded. It has been probably 20 years since I wrote any 8 bit assembly language code, but the patch program I wrote does the trick. I now have my full cartridge memory back and can handle much longer documents.
*does a pony geek dance to celebrate*
It was nearly a wasted morning. When the phone would quiet for five minutes, then the back doorbell would go off for a delivery. Mail, UPS, bottled water, you name it and it was delivered this morning. Good thing I didn't have anything really critical to get done.
Came home, fed the dogs, put Tess out in the pasture in spite of a gloomy sky and forecasts of possible rain (it didn't.) Cleaned stalls, filled water buckets, still had some time before evening feeding and bringing Tess in. Should have worked on hemming up those towels, but instead I geeked out solving a small problem I've had with my CP/M notebook computer for several years.
The machine is a NEC Starlet, with no disk drives, and like a Radio Shack Model 100, runs entirely out of RAM and ROM. Consequently, it is really easy on batteries, but getting stuff in and out of the machine requires connecting a serial cable to another computer, or using a modem. Since I mostly use it for writing text, it doesn't matter much. However, back when I bought it I got a memory expansion cartridge for it. I got the largest then available (all of 256K, but memory was really expensive back then) and it's exactly the same capacity as a standard CP/M floppy disk, which is handy. Unfortunately, the machine BIOS doesn't see that whole space automatically. There was a little patch program that had to be run each time you booted up to make the entire cartridge space available for files.
The cartridge retains its contents by using a backup battery, one of those nickel sized flat things. You can see where this is going. I left the machine unused for too long at a stretch, the battery went dead, and the cartridge content was lost. No important writing was lost because I always copy that off as soon as possible. But the little patch program, which resided on the cartridge itself, was also lost. By then the manufacturer was long out of business, and the patch program was not available anywhere that I could find, even on the web. I knew it had to be fairly simple, just a patch to the disk parameter block in CP/M to adjust the size of the virtual drive, but I never got around to experimenting.
Over the weekend I found some misplaced CP/M manuals and realized that now was the time to fix that problem. The amazing thing is, I succeeded. It has been probably 20 years since I wrote any 8 bit assembly language code, but the patch program I wrote does the trick. I now have my full cartridge memory back and can handle much longer documents.
*does a pony geek dance to celebrate*