Hi folks.. I just signed up to participate in this thread.
I'm a homebrewer from Ottawa by night, and an embedded software guy by day. Looking forward to toying around with this code and looking for ways to optimize and improve for starters (sdcc is apparently a very sloppy compiler). For seconds, I'm looking to build a more robust ferm chamber algorithm. I typically tend to fab my own boards and stuff, but the STC is just so cheap off-the-shelf, that this is a great starting point.
Cheers!
Sean
while waiting for mods to approve my first posts, I did a bit of hand-optimizing of one if() statement and managed to save 110 bytes!
this if going to be fun!
Hi Sean!
I'm glad you registered to HBT! I like to keep discussion of STC-1000+ here and not on github and I really welcome your input!
I agree that SDCC might not be the best compiler for the target (and I think the PIC targets are not their prime concern), but it is open and was a deciding factor. The STC-1000+ project is open and I like to use open tools as well as far as possible.
I agree that the price point is compelling

Also, they are quite reasonably well designed (well, at least the A400_P ones).
Very cool! Did you modify the generated asm? STCC does support inline assembly and I would be open to use that if there are places where it does a lot of good. I have actually tried a couple of times to refactor the C code to make it generate smaller code. But I guess there are still places that could be improved or where asm would save space.
I've already told you, but I'll say it again, I really don't like PIC ASM. It seems like a mess to me (particularly the bank switching stuff). But still, if there is significant benefit to use it, then I'm for it. But I'd like to keep SDCC (and C), I don't want to switch to a closed source compiler or ASM altogether.
If you make progress (that is in line with STC-1000+) feel free to send pull requests (I'd prefer smaller chunks/changes if you do so). I'd also be open to suggestions.
If you want to discuss privately, send me a PM with your e-mail, and we can talk over mail if you feel you have stuff to talk about that does not belong here, otherwise I like to keep it public so others can benefit from the discussion as well.
Cheers!
Edit: Oh, and if you do write some C code, beware that there is a bug in SDCC, that local static variables are not initialized. You need to make them global. Bit me in the a$$ when I started this project.