Well that's some egg on my face. I can't even get it to compile from the command line, WDC02CC just crashes. I might be missing even more than you are!
Though the useless binary file you describe sounds like the relocatable object file the manual references. If I could get even that far, I'd be interested to try filling in the blanks left by startup.asm, maybe even write a generator tool since the manual hints its meant to be customized for different systems.
EDIT:
Ok, so I've got it compiling and building a binary. It just doesn't get very far. The biggest undocumented hole I've found is how the startup.asm is expected to initialize the pseudo registers. My (simulated) system gets stuck somewhere in the "csav" routine that contains all the tasty overhead of calling a C function, which I think is due to the virtual stack pointer not being set. Will continue to plug at it.
EDIT2:
After a lot of mucking about I figured out that half my problem was my emulator missing some 65C02 opcodes. My current implementation of startup.asm merely zeroes out RAM before setting the stack pointer pseudo register to something manageable. However it still messes up if I add any local variables to a function so there's quite a bit left to understand.
My startup.asm so far:
https://github.com/clydeshaffer/gametan ... tartup.asm