To be specific, Exegen actually fabricates an .EXE file from scratch (hence the terrible name). This includes all the standard chunks that a modern .EXE has - actual code, text constant tables, resources such as icons and menus, and so on. My goal is to wrap this up along with the Fugue compiler and FugueASM tools, and produce a complete toolchain that can go from Epoch source to compiled .EXE automatically.
For those who aren't interested in the arcana of creating your own .EXE files, you can safely continue with the rest of the journal post. For everyone else, you can see the unfolding saga (and chronicles of my victory) over in this thread.
Now that Exegen works properly, I can start on my personal goal of generating a small program that includes an icon resource and a menu resource. This program will form the basis for Era, which is the codename for the Epoch IDE I'm going to start developing shortly.
Release 6 will consist of two major components: an updated and much improved VM implementation, and the Era IDE. My goal is to use the Era project as a way to find holes in the Epoch toolchain. Specifically, if I run into things that Epoch (or its tools) can't handle, I can fix them up for R6. This pretty much guarantees that R6 will be robust enough for fairly serious Win32 development.
Even though R5 technically works for doing Win32 programming, it kind of sucks and is annoying to use. In R6, all the tools will be designed to be run from the command line, or via Era. I will probably be creating a simple "project file" format which Era can use to run all the tools to go from text source to final .EXE.
So that's the state of Epoch. Due to Real Life I may or may not be able to get some more stuff done over the weekend; in any case I'll be back soon with more updates.
Stay tuned, and don't miss our Q&A post from earlier in the week - I'm still open for questions!