I've done a two more proof of concept programs. First, a version of the paddle proof of concept which uses a DLI instead of a pseudo kernal. This increases the amount of CPU time available to the rest of the program at the cost of the number of paddle positions (0-31 for NTSC). Second, a trackball proof of concept. I don't have one myself so I can't test it out. Again, a DLI is used to sample the trackball multiple times per screen. I'm also planning on doing one for the driving controller. I just have to figure out Thomas's code from StellaList and make it work for both players.