🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

A Glorious Victory for the Empire

Published February 19, 2009
Advertisement
My biggest time sink over the last couple of days has been my new Epoch tool, Exegen (rhymes with oxygen). Exegen is a linker for Win32 Epoch programs. In essence, it automates the process of starting the VM and feeding it Epoch code.

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!
Previous Entry Resource files suck
0 likes 2 comments

Comments

Twisol
Looking good! :D
February 19, 2009 05:29 PM
evolutional
Question for the Q&A: Will Epoch be targetted specifically for writing standalone apps or will it be embeddable within an application for user scripting? Additionally, what about the ability to create Epoch Dlls that can be imported as modules in Epoch programs (or even referenced by external apps?).
February 20, 2009 03:14 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement