From owner-freebsd-hackers Wed Jan 28 02:39:11 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id CAA06119 for hackers-outgoing; Wed, 28 Jan 1998 02:39:11 -0800 (PST) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from word.smith.net.au (vh1.gsoft.com.au [203.38.152.122]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id CAA06110; Wed, 28 Jan 1998 02:39:05 -0800 (PST) (envelope-from mike@word.smith.net.au) Received: from word (localhost [127.0.0.1]) by word.smith.net.au (8.8.8/8.8.5) with ESMTP id VAA00659; Wed, 28 Jan 1998 21:02:11 +1030 (CST) Message-Id: <199801281032.VAA00659@word.smith.net.au> X-Mailer: exmh version 2.0zeta 7/24/97 To: Amancio Hasty cc: Mike Smith , multimedia@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG Subject: Re: http://www.descent2.com/ddn/sources/descent1/index.html In-reply-to: Your message of "Wed, 28 Jan 1998 02:28:46 -0800." <199801281028.CAA01011@rah.star-gate.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 28 Jan 1998 21:02:10 +1030 From: Mike Smith Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk > > > > > > It does *not* compile on FreeBSD and some of the modules use MASM. > > > > "some"?! This will need someone with a *working* MASM-to-gas > > translator, or a penchant for x86 assembler and vector math. > > The important thing to remember is that the source code is availabe for > anyone with the determination to work on it . > > How many lines of assembler code? > find . -name \*.asm -exec wc {} \; | awk -f ~hasty/awk.scr - You left this number out: word:~/work/descent>find . -name "*.asm" | xargs cat | wc -l 32637 > How many lines of C code? > find . -name \*.c -exec wc {} \; | awk -f ~hasty/awk.scr - > 178714 > Not bad , usually after you go thru the first few large assembler routines > you can pick up the rest pretty easy. Like I said, you want an automated translator. MASM's idea of a "macro" is pretty generous too, eg. ;scales a vector, adds it to another, and stores in a 3rd ;takes edi=dest, ebx=src1, esi=src2, ecx=scale. returns edi=vector vm_vec_scale_add: pushm eax,edx for ofs, mov eax,[esi].ofs fixmul ecx add eax,[ebx].ofs mov [edi].ofs,eax endm popm eax,edx ret Making this work neatly with gas would be, er, fun. And I invite you to understand the code in the div0 directory. 8) > To put it another way , Descent I will make one hell of a splash screen 8) Sure. Just need a few keen punters with some time on their hands. -- \\ Sometimes you're ahead, \\ Mike Smith \\ sometimes you're behind. \\ mike@smith.net.au \\ The race is long, and in the \\ msmith@freebsd.org \\ end it's only with yourself. \\