Most posts are currently about developing a GCC backend for the TMS9900 processor used in the TI 99/4A home computer.

Wednesday, July 22, 2009

I've been having problems with the MESS emulator, so I decided to go back to the known-good cartridge images. The plan was to decompile the image, then compile the assembly output and compare the two images. I'm glad I did that since I found a problem with class VII instructions. I was adding extra arguments in some cases and not using trailing immediate 16-bit words on others. So now there are three variant of class VII instructions, and everyone's happy.

Thursday, July 9, 2009

I've been putting distance between myself and GCC for now. Mainly because I'm not sure how useful it would be at this point. Also because I want to make some solid progress to keep myself motivated. GCC will produce inefficient code to start with, and will require many optimization rounds. I need to become more familiar with TMS9900 assembly in order to do that optimization. I would also like to get a working foundation going sooner, even if its written in assembly.

I've been spending a lot of time at work lately spelunking through code, and I'm not too excited to do some more when I get home. Besides, there is a lot of stuff to get working that I can use the assembler for. Also I need to exercise GAS some to confirm that it works well enough to trust it fully. I think it should be fine, but you never know...

There is now a tool ELF2CART which will extract the .text section from a TI ELF file. This is handy for stripping the ELF headers and unneeded sections for use in a TI cart. Seems to work fine.

At this point, I need to get TI init code working, confirm that the jump instructions work, and get some basic output on the screen.