@tomjennings I have cross compilation and linking to z80 .com files from my c89 compiler working (with .sym files!) for trivial tests now 🎉 But, I need some more c features (and code library support in the linker) before I'll be able to cross compile the compiler itself and use it to develop directly on #fz80... for sure the compiler .com file is going to be >64k if I don't come up with a better architecture 😢 1/2
@tomjennings I've been accumulating a homebrew user space for the last few years, but written in c99 or c11. I got distracted from that by trying to design a virtual cpu and build an OS for it for the last 2 yrs... with not enough progress. Now, #fz80 enables me to skip all of that, if I just go back and finish the c compiler (implemented in c89, compiles c99) to bootstrap my userspace. And then self hosted development awaits! Need to try out MP/M soon...
And because I'm a masochist, also have my own bug ridden #z80 #assembler to intel hex format too. ...slightly worried I might need to write a linker to get a working .com executable from the pile of .ihx files from my compiler source files. Hopefully BDS C can do that? I'll need to find docs or reverse engineer how symbol tables are handled... but first fix all the parse error from self compiling. #retrocomputing #cpm #fz80
Gave up on trying to backport my compiler to K&R C syntax for bootstrapping to #cpm with BDS C on #fz80... SDCC has too many codegen bugs in its #z80 backend, so working on bootstrapping with cross-compiling itself to z80 #assembly. I got the z80 backend plumbed in successfully this morning 🎉 Hoping that debugging and fixing issues with my own code might go faster than digging around blindly in SDCC! 🤞
As the proud owner of one of @tomjennings awesome #fz80 boxes, I'm reviving my #retrocomputing interest after a 30 year break🤓 In the process of porting my simple libc (to underpin my C compiler in progress), I'm wrapping up BDOS calls to simulate the dozen unix syscalls it uses. It's difficult! Maybe my lack of #bdos, #z80 , #cpm? Any advice on whether to plough on, or if I'm approaching it all wrong? Also do folks typically cross compile or have a C toolchain on device?