The PCBIOS compatibility code in rombios.c has quite a few warts. Primary among them is that it written in a nasty mix of asm and 16bit C code. With the biggest problem seeming to be that bcc is a limited 16bit compiler.
In real mode there is 256K that we can place a real mode BIOS in. If all we do is stick to what a PCBIOS can do now, and don't attempt to extend it, but just be a good implementation 256K should be enough to do whatever is needed.
I don't know if gcc using 32bit overrides in 16bit mode would be better than a pure 16bit C compiler.
Just looking at rombios.c earlier today the worst of it appears to be that rombios.c is a nasty mess, and that rombios.c does not support pci. So most of it to me does not appear to be a compiler issue at all, just that rombios.c needs to be rewritten in a more maintainable style.
I need to look a little more closely but I suspect getting bcc to accept a fairly complete gcc syntax including inline asm support would not be hard. Nor do I think getting bcc to output to gas assembly instead of it's own assembler would be to bad. Except possibly that gas 16bit support is quite limited.
So if the issues keeping us from using 16bit C compiler are primarily cosmetic I don't see why they can't be fixed. Long term I don't even want to touch a compatibility layer. I want to use something much simpler and much more powerful.
Eric