Welp, I've made quite a bit of progress on the compiler/language I've been working on, but it's still a major work in progress.
I consider this an unofficial preview alpha version. After development had stalled out sometime around July 2020, my focus shifted towards game projects... first Chaotic Grill, then Paint The City, with a some proof of concept work on a port of Congo Bongo, both for the 2600 and the 7800. My focus has been jumping between all of those projects until about April when my focus shifted back to developing the compiler... now dubbed Neolithic C.
The compiler definitely needs a lot more work... mainly 16-bit integer support. Currently, there's only enough for supporting the minimal usage of pointers that I've needed. My recent focus has been on developing a way to manage local variable frames and better parameter passing support, and possibly moving away from "stack" operations.
I've been on the fence about releasing the compiler prematurely... but with a few other heads popping up displaying other compilers/languages, I figured now would be a good time as any, as long as I don't make a big announcement (general forum post) about it. So I'm posting it here, and seeing what kind of feedback I get from those that actually dig thru/read the blogs.
So... here's a basic demo of Congo Bongo written in Neolithic. It's at the point where I'd need to rewrite the display kernel in assembly to move beyond just having the explorer on the screen with the background. Note that the background is not being displayed correctly due to missing support in the compiler for data structure alignment (planned feature). Also, having the two score displays of debugging info pushes the scanline count beyond the usual 262 for NTSC.
I've attached the BIN file as well as a zip file. The zip file contains the source code which includes the compiler with DASM (windows versions) if anyone wants to play around a bit. The code displays all the "available" features currently. If you do play around, I make no guarantees of good code generation if you write code that's more complicated than what is already there.