My RAM interface is a little complicated, so I updated my block diagram. I didn't get it quite right the first time. I'll have to update it again once I add the data bus access to the program counter. I figure it's costing me about 8 extra chips to do a common data/instruction memory. It's quite a cost when the rest of the system is about 15 chips. I think it's going to be worth it though. The ability to load programs by running a program will be worthwhile once I get a bootloader and UART interface working.