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
This is a cryptographically signed message in MIME format.

--------------ms000207020603090102020103
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit

Dag-Erling Smørgrav 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


--------------ms000207020603090102020103
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJmDCC
BMgwggKwoAMCAQICAhYWMA0GCSqGSIb3DQEBBAUAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjAc
BgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5n
IEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnMB4XDTA0MDMw
MTE2MjcwMloXDTA1MDMwMTE2MjcwMlowRDEZMBcGA1UEAxMQQ0FjZXJ0IFVzZXIgQ2VydDEn
MCUGCSqGSIb3DQEJARYYZmx5bm5AZW5lcmd5aHEuZXMuZXUub3JnMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEA07LSCTC1BRQJu+29UYTysclyU+Nlfnl6BL4PCsCCoThxOO6G
9JVkioylXRwMB2Gcanls6MIqMMxiZ7pT9RNgWp5pTtvn9/P/9Z7paigVW55I9dXPI4x24/Zr
FmdeOW5benkMjbxkzIe/pEWsN0q/fFKKjBqiv6zO0bM5zPjOZq6Qmo+114WTGPQg8k2D7TGP
BFSr7TkMsEsnEBK6LO3J+xVIchRONzT4KwNOEcfwAuKmWI2/dCd04jqLc1e4bF7HEbLI3dRK
u1VJfM6wLUID4dRosDd5jWSbSBUvGRy6qYJctZUCQ5nla2ofNKLiSxUwKtqU6KymHNpBPzGh
sFHY+QIDAQABo4GOMIGLMAwGA1UdEwEB/wQCMAAwVgYJYIZIAYb4QgENBEkWR1RvIGdldCB5
b3VyIG93biBjZXJ0aWZpY2F0ZSBmb3IgRlJFRSBoZWFkIG92ZXIgdG8gaHR0cDovL3d3dy5j
YWNlcnQub3JnMCMGA1UdEQQcMBqBGGZseW5uQGVuZXJneWhxLmVzLmV1Lm9yZzANBgkqhkiG
9w0BAQQFAAOCAgEAxjfoc1hvvHGZ+F71pvXqRkQbuQNmEdAMrst0GI+vigSo91bZz2q2E0hb
7uwMp6qdQmK21m46mmJ1I7dspebh10dE1coiM9joq8pO1Tjh5kNpAf1nLUd6HBhPg4OzZkx6
gbgo9OeZPI8cKcTFOIJqENWyXnWqRNb4vvi6iiP1kDE/U3kKOPSEA+40VkjrzA+G8qiieQkR
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
W8YsHHIa7AAAAAAAAA==
--------------ms000207020603090102020103--



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