This is from Isao Tomita. I was shocked by the news from Roland that you are in the hospital. I am very much anxious for your quick recovery.
In 1972, even before the release of my first album from RCA Records, I made a visit to MOOG Factory in Buffalo with my friend interpreter, Mr. Ayugai, and had a chance to show my recorded tape to you. I had already purchased MOOG III through Japanese Trading company, but a large synthesizer was completely new in Japan then, and there were no one to tell me how to use it. I performed with my own way of trial-and-error method.
This truned out to be a good result. I still remember clearly your word. You said "This is the expression by MOOG III nobody has ever made."
Soon after my visit, RCA Records decided to release the series of my work.
"Snowflakes Are Dancing: The Newest Debussy"
"Moussorgsky:Pictures At an Exhibition"
"The Planets" All three above were listed on top (No.1) of Billboard Classical Chart.
I owe you for MOOG III which brought me a success, and further more your contribution to the developement of electronic instrument is highly noted and innumerable musicians in the world have received the benefit.
MONDAY, AUGUST 22, 2005 02:09 PM CDT
Dear Bob, You live on in the hearts of all of those who have known and loved you. And when we pass, you will live in history. Thank-you for being a part of my life in so many ways. I will miss you. Suzanne Ciani
I still remember clearly the day my older keyboard-playing friend showed me his MiniMoog. I was so blown away. This was probably 1980 or 81. I was really young and this guy really helped me understand the huge opportunities synthesizers offered. Eventually, he let me borrow this machine for lengthy periods of time, including some blank template pages for me to create my own sounds!
You've been an absolute inspiration to me in using electrical engineering as a truly creative art from. Without your contributions to our world, my career as an electronic composer would have been far more difficult. You brought that "synergy" to my twin loves of creative electronic design and music creation. It has been an honor knowing you for over 30 years.
My thoughts and prayers are with you and your loved ones. I would never have been able to turn my dreams into reality had you not first given us yours. I:d just like to take this opportunity to add my name to this list and thank you for all that you made possible.
sincerely,
Hans Zimmer
there are many others, these are the ones i was able to find quickly.
Actually I wish they'd spend less time on the CG and more time on acting.
Most independents have acting so bad you want to gouge your eyes out with a spoon. Acting so bad that it makes william shatner's TOS appearances look like shakespeare in comparison.:P
void CL_DemoFilename( int number, char *fileName ) {
int a,b,c,d;
if ( number < 0 || number > 9999 ) {
Com_sprintf( fileName, MAX_OSPATH, "demo9999.tga" );
return;
}
a = number / 1000;
number -= a*1000;
b = number / 100;
number -= b*100;
c = number / 10;
number -= c*10;
d = number;
Com_sprintf( fileName, MAX_OSPATH, "demo%i%i%i%i"
, a, b, c, d ); }
rewritten clearer:
void CL_DemoFilename( int number, char *fileName ) {
if ( number < 0 || number > 9999 ) {
Com_sprintf( fileName, MAX_OSPATH, "demo9999" );
return;
}
Com_sprintf( fileName, MAX_OSPATH, "demo%04i", number ); }
notice the original Id code is buggy and erroneously appends.tga when number is out of bounds. rewritten code fixes the bug, is clearer and more concise, and uses fewer instructions.
I should qualify that my autovectorization tests were done in gcc4, which does significantly better than gcc3.x. gcc3 couldn't beat my hand coded SSE, but gcc4 spanked it handily (though I have not yet determined exactly why).
There is also something to be said about the elegance and readability of being able to do:
cvec4 = avec4 * bvec4;
And have the compiler do all the work for you, without having to overload operators in C++ or write functions in C. And have the code immediately take advantage of SSE as well as Altivec.:-)
I agree anyone using the Q3 code should just go nuke all the asm. The bottlenecks in the Q3 engine - both server and client - are not anywhere close to being FP maths bound at all. Generating snapshots is the server bottleneck, and the client is bottlenecked in GL moving vertices to the card.
As for the quality of the Q3 engine in general, it still has the best netcode in the industry. Most modern engines seem to have taken a step backwards in netcode compared to Q3:-/
Regarding ftol replacements... use lrint and friends. It's (mostly) portable:-)
I've also had the engine source for over a year under contract with Id/Activision so I could write this. You might have heard of this little get together called Quakecon. It was used to broadcast the qualifier and tournament matches.
Care to tell us what exactly is your experience with the q3 engine code?
the reason why this code isn't in libc is because this code is an approximation (but a good one). suitable for games but bad for scientific purposes.
there are several reasons why this code exists in quake3:
1) it was written back before modern FPUs and SSE etc. nowadays doing square roots in hardware is faster, especially if you vectorize. but back in 1999 it wasn't. 2) it was written for mods to use in the quake vm (quake's bytecode interpreter). an engine trap may have been slower.
the reason this is designed this way is because this struct is specific to the binary format of memory blocks shared between the client dll and server engine.
c++ inheritance doesnt work the way you think it does here.
The platform independent code is mostly ok (eg server/ and client/), but the platform specific code is an ugly mess.
While most of the code in game/ cgame/ ui/ etc are ok, most of the code in unix/ and win32/ is really ugly.
As for ugly low level C math code (game/q_math.c) most of it is actually pretty clean -- its the gobs of uncommented asm that's ugly.
The doom3 sdk is much better -- the simd asm code is in general very well commented.
But there's really little reason to use asm anymore, since the autovectorization in gcc is very nice. It also allows the compiler to optimize much better -- inlined asm functions are hard for the compiler to optimize.
As for hack free... no.. there are plenty of ugly hacks in the quake3 code. It's the nature of the beast:-/
Indeed, it's some of the cleanest C code I've seen laid out to date.
Lollerskates.
Cleaner than q1 or q2 maybe, but it is not really a good example of clean / well written C code in general.
For example, take a look at CL_DemoFilename() for some real "OMGWTFBBQ".
I can't tell if that code is serious or a joke. But it's there.
As for stretches of pages of uncommented assembly code -- it's still there. See BoxOnPlaneSide() in game/q_math.c for example. Or S_WriteLinearBlastStereo16() in client/snd_mix.c.
I really wouldn't use quake3 source as an example of well formatted / readable code.:-)
as for the government "allowing" "legal theft" to occur simply because ibm was a monopoly, rofl. your understanding of computing history is so hopelessly distorted it's useless to continue this discussion, so i will end my participation of it here. continue replying all you like, i'm not going to waste time with this looney thread.
However, if you support smashing store windows and grabbing your hardware in the real world as you do figuratively smashing windows and grabbing software for free (software you are supposed to pay for), then I can see why you might think that hardware sales will go away.
nice strawman, truly worthy of the/. troll that you are.
connectix made a ps1 emulator, not a ps2 emulator. and they got shut down because they copied the bios. however other projects made a compatible cleanroom bios and sony wasnt able to shut them down.
just like clonemakers were able to make ibm clones - they cleanroomed the bios. in your little cartooney distorted idealistic world i guess this would never happen.
you're being idealistic to the point of being cartooney.
apple needs to wake up and face reality.
the percentage of apple revenue from purely software is rapidly overtaking that from hardware. in only 2 or so years the percentage of apple revenue from purely software has increased from 5% to over 30%.
it won't be long before apple derives nearly all their revenue from purely software.
apple is fighting a losing battle if they continue to cling to hardware as a major revenue source.
microsoft and sony learned long long long ago -- software is where the revenue is at. you can even sell the hardware at a huge loss as long as grows your software market.
Isao Tomita: suzanne ciani:
steve vai: Larry Fast: Hans Zimmer: there are many others, these are the ones i was able to find quickly.
they're all imitating steven segal.
Actually I wish they'd spend less time on the CG and more time on acting.
:P
Most independents have acting so bad you want to gouge your eyes out with a spoon. Acting so bad that it makes william shatner's TOS appearances look like shakespeare in comparison.
I'm from the planet of C programmers who frown upon needlessly code when elegant possibilities like %04d exist but are not used.
.tga to the filename when it shouldn't.
The code is also buggy, it appends
original: rewritten clearer: notice the original Id code is buggy and erroneously appends
postfix is clearly written and well commented ANSI C, one of the better examples around.
milter-greylist is also reasonably clearly written ANSI C.
gnu wget is written in ANSI C and seems reasonably well commented and clearly written.
There is also something to be said about the elegance and readability of being able to do:And have the compiler do all the work for you, without having to overload operators in C++ or write functions in C. And have the code immediately take advantage of SSE as well as Altivec.
I agree anyone using the Q3 code should just go nuke all the asm. The bottlenecks in the Q3 engine - both server and client - are not anywhere close to being FP maths bound at all. Generating snapshots is the server bottleneck, and the client is bottlenecked in GL moving vertices to the card.
As for the quality of the Q3 engine in general, it still has the best netcode in the industry. Most modern engines seem to have taken a step backwards in netcode compared to Q3
Regarding ftol replacements... use lrint and friends. It's (mostly) portable
The problem with 3dnow (and using mmx registers in general) is that you have to switch out of mmx mode when done. This is expensive.
You really want to batch up your sqrt's for 3dnow (and vectorization in general). Using 3dnow for generic 1-off sqrts can be a loss.
Fortunately SSE doesnt suffer from this problem.
ET is a modified Q3 engine. It's close, but not the same.
et 2.60 supports osx.
Actually I've been working on the Q3 code for a number of years. I wrote this and this for example.
I wrote the Enemy Territory 2.60 Release for Id/Activision under contract with them.
I've also had the engine source for over a year under contract with Id/Activision so I could write this. You might have heard of this little get together called Quakecon. It was used to broadcast the qualifier and tournament matches.
Care to tell us what exactly is your experience with the q3 engine code?
the reason why this code isn't in libc is because this code is an approximation (but a good one). suitable for games but bad for scientific purposes.
there are several reasons why this code exists in quake3:
1) it was written back before modern FPUs and SSE etc. nowadays doing square roots in hardware is faster, especially if you vectorize. but back in 1999 it wasn't.
2) it was written for mods to use in the quake vm (quake's bytecode interpreter). an engine trap may have been slower.
you really, really don't want to play q3 with a joystick. it's unbearable. you really, really need a keyboard + mouse to play.
the reason this is designed this way is because this struct is specific to the binary format of memory blocks shared between the client dll and server engine.
c++ inheritance doesnt work the way you think it does here.
The platform independent code is mostly ok (eg server/ and client/), but the platform specific code is an ugly mess.
:-/
While most of the code in game/ cgame/ ui/ etc are ok, most of the code in unix/ and win32/ is really ugly.
As for ugly low level C math code (game/q_math.c) most of it is actually pretty clean -- its the gobs of uncommented asm that's ugly.
The doom3 sdk is much better -- the simd asm code is in general very well commented.
But there's really little reason to use asm anymore, since the autovectorization in gcc is very nice. It also allows the compiler to optimize much better -- inlined asm functions are hard for the compiler to optimize.
As for hack free... no.. there are plenty of ugly hacks in the quake3 code. It's the nature of the beast
Server operators could always do this without the q3 engine source. All you need is the mod source sdk, released ages ago.
The release of the q3 engine source doesn't enable server operators to cheat. They could already do that.
2005-08-19 21:37:02 Quake 3 Source Finally Released (Games,Quake) (rejected)
Reject submissions, only to post them later...
Hell, they havent even GPLd unreal1 or unreal tournament. I don't think they've GPLd anything at all, have they?
2005-08-19 21:37:02 Quake 3 Source Finally Released (Games,Quake) (rejected)
Bleh.
Lollerskates.
Cleaner than q1 or q2 maybe, but it is not really a good example of clean / well written C code in general.
For example, take a look at CL_DemoFilename() for some real "OMGWTFBBQ".
I can't tell if that code is serious or a joke. But it's there.
As for stretches of pages of uncommented assembly code -- it's still there. See BoxOnPlaneSide() in game/q_math.c for example. Or S_WriteLinearBlastStereo16() in client/snd_mix.c.
I really wouldn't use quake3 source as an example of well formatted / readable code.
the former is worse. the latter is unlikely to commit mass murder, cheat and steal from you, etc.
your analogy might have worked if the alpha actually was a superior cpu.
it wasnt.
axp didnt even support out of order execution until the 21264, and by then it was too far late. the writing was on the wall -- axp was doomed.
lollerskates. read up what strawman means. you're beating up on a claim i never made - hence strawman.
i guess you think wine is theft too?
as for the government "allowing" "legal theft" to occur simply because ibm was a monopoly, rofl. your understanding of computing history is so hopelessly distorted it's useless to continue this discussion, so i will end my participation of it here. continue replying all you like, i'm not going to waste time with this looney thread.
nice strawman, truly worthy of the
connectix made a ps1 emulator, not a ps2 emulator. and they got shut down because they copied the bios. however other projects made a compatible cleanroom bios and sony wasnt able to shut them down.
just like clonemakers were able to make ibm clones - they cleanroomed the bios. in your little cartooney distorted idealistic world i guess this would never happen.
you obviously dont get it.
you're being idealistic to the point of being cartooney.
apple needs to wake up and face reality.
the percentage of apple revenue from purely software is rapidly overtaking that from hardware. in only 2 or so years the percentage of apple revenue from purely software has increased from 5% to over 30%.
it won't be long before apple derives nearly all their revenue from purely software.
apple is fighting a losing battle if they continue to cling to hardware as a major revenue source.
microsoft and sony learned long long long ago -- software is where the revenue is at. you can even sell the hardware at a huge loss as long as grows your software market.