One other option is a higher-level interface like a CM11A, which sends/receives X10 commands over the powerline using a serial port. It too handles isolation for you, and the serial protocol is simple enough that you can probably get it working in a day or two; even if you start from scratch.
However, I can't recommend the CM11A itself. I've been running a large X10 system for ten years or so, and in that time I've had three burn out. They've locked up dozens of times, requiring a power cycle to reset. Their TX signal is also fairly weak, resulting in lost commands to X10 devices in more distant areas of the house; and since devices can't report their state, there's no way to detect when this happens.
For the last three years I've been using a XTB-232 instead, made by Jeff of JV Digital Engineering. It's CM11A compatible, works flawlessly, and has stronger TX. A bit pricey at $99, but as I haven't had a single issue since the upgrade, I feel it was well worth it. Jeff also has a replacement for the TW523 (the XTB-523) with similarly upgraded TX if you prefer a low-level interface.
Finally, X10 was invented in 1975. It's outdated and limited. At the time I built the majority of my system, manufacturers were trying to dump old inventory for whatever they could get for it; which made it cheap and attractive. Now supplies are limited and prices for X10 equipment just keep going up, while other home automation system prices are going down. If I were to build a system today, I'd give other systems a serious look.