Ok, so I want to learn to write programs that run on the empeg. I'm looking for some advice and some info but I'm actually not really where to start with these questions, so I'll just babble a bit.

First of all, I'm a freshman in college on my way to becoming a CS/EE double major. The comp sci course I'm in the middle of right now is described as "An overview of advanced data structures and analysis of algorithms, data abstraction and abstract data types, object-oriented programming, proofs of correctness, complexity, and computability." Basically we're learning about stuff like inheritance and binary trees and the like. Basic C++.

The main hurdle I have is that although I can write some pretty good C++ code I have no idea how to interface with the empeg. Besides the fact that we code and compile remotely on UNIX machines (for comp sci courses), I have zero experience with Linux and no experience with large projects. Is there any FAQ/instructions that would help me compile a short hello world type program for the empeg? If I am going to get serious about this I'm going to need a Linux partition on my hard drive, huh? (I should probably do this just to learn about Linux.)

What about instructions to interface with the hijack menus (This can wait 'till later) Where is the source to hijack? All I see is the patch file which has all the crazy diff-generated character stuff in it.

(By the way why does it seem like there is c stuff lurking around (printfs, printks, malloc, memcpy, etc? Isn't most of the stuff written in C++? Am I going to need to learn C?)

At this point everything is a little over my head. But what should I do now to better prepare myself to do cool stuff in the future? My course next fall is described as "Techniques for design and construction of reliable, maintainable and useful software systems. Programming paradigms and tools for medium to large projects: revision control, UNIX tools, performance analysis, GUI, software engineering, testing, documentation." That should give me a little more experience with this stuff.

I don't really have too much time with school and all (I'm a Warcraft III beta tester, different topic), but I find this stuff fascinating and want to get involved at some point, even if its later. Thanks for ya'lls help,

John
_________________________
1998 BMW ///M3 30 GB Mk2a, Tuner, and 10 GB backup