Yeah, and Tandy graphics were different from EGA or VGA, just enough that you needed to write different display code for them. And you had to get the user to tell you which ports/IRQ numbers half of their hardware was configured at.
We have way better hardware abstractions in the OS today, which I would agree makes modern development easier overall.