Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 06 Mar 2004 15:45:52 +0100
From:      Miguel Mendez <flynn@energyhq.es.eu.org>
To:        =?ISO-8859-1?Q?Dag-Erling_Sm=F8rgrav?= <des@des.no>
Cc:        freebsd-chat@freebsd.org
Subject:   Re: FreeBSD Most wanted
Message-ID:  <4049E420.3080609@energyhq.es.eu.org>
In-Reply-To: <xzpn06uuldj.fsf@dwp.des.no>
References:  <Pine.LNX.4.43.0403011839470.3269-100000@pilchuck.reedmedia.net> <2EAEEFC4-6EEE-11D8-AE09-000A95DA58FE@jimz.net> <EABDE846-6EF2-11D8-AE09-000A95DA58FE@jimz.net> <20040305145853.3a365f60.cpressey@catseye.mine.nu> <20040306005744.T38020@haldjas.folklore.ee> <20040305153505.74061868.cpressey@catseye.mine.nu> <20040306144731.3449848a.j.schim@netmaniacs.nl> <xzpn06uuldj.fsf@dwp.des.no>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Dag-Erling Smrgrav wrote:
> Joao Schim <j.schim@netmaniacs.nl> writes:
> 
>>I can imagine there's still a lot of ASM programming involved in 
>>console computer games.. Atleast it still was a few years ago.
> 
> 
> No, the PlayStation changed all that.

There's a lot of hand-coded mips assembly code in PS games. The PSX 
didn't have a very powerful hardware, and needed a lot of tricks for 
games to look good. Some tricks were in the gfx area, most of them in 
the programming area. A very good example of this is Crash Bandicoot, 
which rendered most of the graphics as gouraud, letting enough free 
memory and bus cycles for the streaming music system. The same applies 
to PS2 games. To be able to use 5:1 audio the programmers at EA (I think 
they were the first to come up with the idea) found out they could use 
one of the VU coprocessors to process the audio, while doing 3d math 
with the other. There are a lot of interesting tricks game companies 
have found since the PS2 were released. The rise of quality in the games 
comes from getting more intimate knowledge of the underlying hardware 
and learning that in the PS2 world you have very small very fast caches 
that need to be constantly filled, as opposed to the PC world with slow 
buses and big memories. Most of that stuff is done in assembler. FWIW, 
mips assembler is a very nice ISA to work with. Although most PC games 
mostly rely on hardware these days, there's still place for the 90/10 
rule, i.e. writing the critical inner loops in asm, or hand optimize 
your SSE/3dNow code. 3D hardware changed the way games are written, 
though, most programmers today woulnd't know how to init mode-x on their 
VGA cards even if they supported it :)

To stay on topic, while I find assembly programing extremely funny, 
specially on the Amiga, for systems programming I think it's better to 
avoid it as much as you can. Current AMD and Intel space heaters can eat 
code fast enough that only critical parts really need to be hand 
optimized (kernel, libc, that kind of stuff).

Cheers,

-- 
	Miguel Mendez <flynn@energyhq.es.eu.org>
	http://www.energyhq.es.eu.org
	PGP Key: 0xDC8514F1


[-- Attachment #2 --]
0	*H
010	+0	*H
	000
	*H
0y10U
Root CA10Uhttp://www.cacert.org1"0 UCA Cert Signing Authority1!0	*H
	support@cacert.org0
040301162702Z
050301162702Z0D10UCAcert User Cert1'0%	*H
	flynn@energyhq.es.eu.org0"0
	*H
0
Ӳ	0	QrSe~yz
8q8d]ajyl*0bgS`ZiNj([H#vkg^9n[zyḋE7J|Rѳ9fׅ M1T9K',HrN74+NXt't:sWl^JUI|ΰ-Bh7ydH/\Ckj4K0*ڔ謦A?1Q00U00V	`HB
IGTo get your own certificate for FREE head over to http://www.cacert.org0#U0flynn@energyhq.es.eu.org0
	*H
7sXoq^FDftVjH[Bbn:bu#lGD"3N8Cig-GzOfLz(<)8jղ^uD#1?Sy
84VHy	h7<@ YvL2L0ҝir3qdV¤>R3ds2d'/wJ<eD&n.Ia(~~tŽrNPº	|4e1tf1~9'~x	2Zie8n`/?mYF
a&{r
zktU]N]952V>րmqq+J}ZYxʏfN7_n__eĚB"=s`iD"=Sb5#+[HaΟȟPLdOdV#uݞx$	mo$neXp$B3cG&)~X4I몰]s000
	*H
0y10U
Root CA10Uhttp://www.cacert.org1"0 UCA Cert Signing Authority1!0	*H
	support@cacert.org0
040301162702Z
050301162702Z0D10UCAcert User Cert1'0%	*H
	flynn@energyhq.es.eu.org0"0
	*H
0
Ӳ	0	QrSe~yz
8q8d]ajyl*0bgS`ZiNj([H#vkg^9n[zyḋE7J|Rѳ9fׅ M1T9K',HrN74+NXt't:sWl^JUI|ΰ-Bh7ydH/\Ckj4K0*ڔ謦A?1Q00U00V	`HB
IGTo get your own certificate for FREE head over to http://www.cacert.org0#U0flynn@energyhq.es.eu.org0
	*H
7sXoq^FDftVjH[Bbn:bu#lGD"3N8Cig-GzOfLz(<)8jղ^uD#1?Sy
84VHy	h7<@ YvL2L0ҝir3qdV¤>R3ds2d'/wJ<eD&n.Ia(~~tŽrNPº	|4e1tf1~9'~x	2Zie8n`/?mYF
a&{r
zktU]N]952V>րmqq+J}ZYxʏfN7_n__eĚB"=s`iD"=Sb5#+[HaΟȟPLdOdV#uݞx$	mo$neXp$B3cG&)~X4I몰]s10}00y10U
Root CA10Uhttp://www.cacert.org1"0 UCA Cert Signing Authority1!0	*H
	support@cacert.org0	+0	*H
	1	*H
0	*H
	1
040306144553Z0#	*H
	1 H
JGv-YOZ|0R	*H
	1E0C0
*H
0*H
0
*H
@0+0
*H
(0	+7100y10U
Root CA10Uhttp://www.cacert.org1"0 UCA Cert Signing Authority1!0	*H
	support@cacert.org0*H
	10y10U
Root CA10Uhttp://www.cacert.org1"0 UCA Cert Signing Authority1!0	*H
	support@cacert.org0
	*H
D41G8CmY D	6)UK`[2Mfd|2Yf\躍4F^H/dr{$N4239FFGg΢r9~Xq]ItF?l6=XP[@(NyhWYJWX3^ǝ2XK 6%o@zo`3>=/v,ϽAN9c'0
nQ㝳mM*uF[,r

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4049E420.3080609>