I have the UART working finally. I was not initializing all of my registers. I set the lower byte, but assumed the upper byte was reset to zero. It was not. That's one big thing I've learned about TTL - you really need to initialize everything manually. I have a simple echo program working, so next up would be the monitor/bootloader.
But I'm still not working 100% yet - the RAM is not working. But I think once I debug that, it will be 100%. I'd reallly like to get this working before Christmas - so close!