Date: Wed, 28 Jan 1998 03:02:51 -0800 From: Amancio Hasty <hasty@rah.star-gate.com> To: Mike Smith <mike@smith.net.au> Cc: multimedia@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG Subject: Re: http://www.descent2.com/ddn/sources/descent1/index.html Message-ID: <199801281102.DAA01249@rah.star-gate.com> In-Reply-To: Your message of "Wed, 28 Jan 1998 21:02:10 %2B1030." <199801281032.VAA00659@word.smith.net.au>
next in thread | previous in thread | raw e-mail | index | archive | help
> > > >
> > > > 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,<x,y,z>
> mov eax,[esi].ofs
> fixmul ecx
> add eax,[ebx].ofs
> mov [edi].ofs,eax
> endm
>
> popm eax,edx
> ret
I bet it is horribly hard to read it with the assembler listing or looking
at the code with codeview 8)
Look it is doable and a very nice exercise for young programmers specially
in the multimedia or gaming arena .
Cheers,
Amancio
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801281102.DAA01249>
