The Lonely Planet guidebook to Turkey is, overall, a great resource. But on the question of how to get from the Turkish mainland to the Turkish Republic of Cyprus, it is sorely lacking. In the "Eastern Mediterranean" chapter, it mentions only that ferries travel from the city of Mersin to the Cyprus port of Gazimagusa three days a week. Has this service been discontinued? On two separate occasions, bus company staff seemed not to know of it. According to this LP page, tourists report that the Mersin ferry has been discontinued, though another tourists posts links in Turkish claiming the ferry from Mersin still runs.
Anyway, bus company staff steered me instead to the town of Tasucu, about 90 minutes west of Mersin near the town of Silifke. (Getting off at the Silifke otogar or bus station, you take a service bus, van or taxi to Tasucu. From Tasucu, a fast ferry leaves for Cyprus each morning, taking about three hours, and a large ferry leaves each evening, taking about eight hours. Sleeping on the ferry, stretching out by taking up four seats, makes for not-so-bad a journey, especially since you're saving a night of a hotel bill. Roundtrip fare for two to Girne, Cyprus was 190 TL, plus 20 T.L. "harbor fee" and 47 T.L. "tax." Entering and leaving Northern Cyprus with just a passport was no problem whatsoever.