Xref: news2.mv.net comp.os.msdos.djgpp:7027 From: Laurentiu Badea Newsgroups: comp.os.msdos.djgpp Subject: Re: Gnu cross compiling? Date: Wed, 07 Aug 1996 16:13:41 +0200 Organization: Laboratory for Numerical Methods Lines: 51 Message-ID: <3208A495.6CD24D8D@lmn.pub.ro> References: <31FAE75C DOT 6824 AT p3 DOT net> NNTP-Posting-Host: ha.lmn.pub.ro Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: A King DJ-Gateway: from newsgroup comp.os.msdos.djgpp A King wrote: > > a friend and I are designing a game, and the probable language for design > was DJGPP. Then, I had a great idea... since the game was going to be > an RPG (variation on tile-based isometric design), I figured that a > mark-up language could do most of the mundane things like "drawmap" and > "drawchar", etc., and this "TBML" (tile-based mark-up language) file > would be compiled down into a file readable by the main .EXE. Then, my > friend suggested rather than using the EXE to read the file, doing > something a little different : much like emulators read ROM images, the > .EXE of the game would basically be an "RPG CPU" emulator, and the actual > game (Infinitum) would be the ROM. This would allow simple portability > (much like how Virtual GameBoy (VGB) has ports in Linux, SunOS, MS-DOS, > Windows, Power Mac, etc.), and the creation of sequels easily. He > suggested creating an Virtual RPG CPU assembly language (ViRAL), and then > using a high-level language (i.e. C, or TBML) for Infinitum (ROM image). > But rather than creating everything (C compiler, linker, ViRAL compiler, > etc.), he said something about "speccing out a processor in DJGPP's > cross-compiler" (or something similar). I was wondering if a) this was > possible, and b) how to go about doing this. If anyone has ANY info > (DOCs, experience, etc.), please respond to me, either via news or > e-mail. I guess this comes kinda late, but anyway... I don't think you need that. Even if you succeed in adding new processor specs to djgpp, you still will need to write a virtual machine on which your assembly language is run ( much like java code ), which is basically an interpreter. But why wouldn't you write only an interpreter for some language defined by you which would implement primitives for everything you need in the game. This would be much easier if speed at this level isn't a concern. Even if it is, you could pre-process ( pre-identify ) tokens or whole instructions ( something like a compiling step ), so that on execution, your interpreter won't have anything else to do but read indexes and act upon'em. ( If you have ever seen the ol' ZX Spectrum, you know what I mean ). Laurentiu -- ------------------------------------------------------------------------------ | Laurentiu Badea, bytemare AT lmn DOT pub DOT ro | | CS student at PUB, laur AT ulise DOT cs DOT pub DOT ro | | Network Administrator | | for node lmn.pub.ro. http://www.lmn.pub.ro/~bytemare/ | ------------------------------------------------------------------------------