Amiga democoding?
category: general [glöplog]
Just wondered, do the most impressive productions (e.g. TBL demos or Multiverse or Heartcore or even BASS) use any bit of assembly or is it possible to have such speeds for software buffer effects in the modern Amigas by purely coding in C language? Are there still many Amiga sceners out there coding in pure assembly?
Question number 2, what do you suggest if someone wants to start with Amiga coding? From C compilers and from Assemblers? Tutorials? Links???
I don't plan to start Amiga right now (Afteralls I also wanted to start Atari and other things, but I should better continue coding for GP32 this Summer), just it wouldn't be bad if I know from now and download the compilers and keep it in my HD for future use (whenever I am bored and want to learn something diferrent :). Afteralls, it all came out after watching a dream that I was an Amiga coder ;)
Great topic, Optimus!
I always wondered about the question n° 1...i hope that the Pouet gurus can answer!
I always wondered about the question n° 1...i hope that the Pouet gurus can answer!
Trifillers and such are generally optimized in asm. The less time-critical code is in C/C++.
The estimate is about 20% asm, 80% C/C++.
The estimate is about 20% asm, 80% C/C++.
Nearly every single Amiga demo is done in Assembler as everything else would be much too slow. Maybe they abuse C for calling the effects but the effects themselfs are all done in Assembler for its speed.
Chippacks and stuff like that can be done in C as the speed doesn't matter. But if you don't plan to code on an Amiga, why do you ask then??
Chippacks and stuff like that can be done in C as the speed doesn't matter. But if you don't plan to code on an Amiga, why do you ask then??
modern amigas :DDD
I once coded about 10 lines of PPC assembly :)
it was kinda fun...
it was kinda fun...
I said I don't plan to code very soon but surely in the future, because many of you may wonder why am I not focusing in one platform and wandering around many machines (I have asked about AtariST and XL before, also still wishing to make something in Spectrum, but I still have to concentrate on GP32 this Summer (Yey! I have a GP32 :)). But if I have the Amiga compilers and docs, I may catch the mood to have a look one random day and who knows?
if it ain't 100% pure asm then it doesn't have THE SPIRIT OF AMIGA!
But yes, I know I'm a moron for not using C...
But yes, I know I'm a moron for not using C...
i had fun disassembling silkcut ;) looks like alot of it was C(++). i guess it's the same for most 060 ami prods: innerloops in assembly rest in C. (something like scali says).
the older prods and ECS prods are probably all 100% assembly.
the older prods and ECS prods are probably all 100% assembly.
I've always coded in pure ASM on the Amiga - that's the only alternative if you're planning on getting things running on an older machine..
But if you're aiming for modern Amigas, I guess C/C++ will do just fine.
But if you're aiming for modern Amigas, I guess C/C++ will do just fine.
Quote:
i had fun disassembling silkcut ;) looks like alot of it was C(++). i guess it's the same for most 060 ami prods: innerloops in assembly rest in C. (something like scali says).
Respect to Earx,for The Sillcut Disassembling.
100% ASM is the way to go for me too. And yes, I'm probably a complete idiot for making life harder for myself =)
On a 030 machine, the C compiler is just too slow to be fun to use for testing... perhaps a 060 is better. So yes, at least in the olden days most people used 100% asm, nowdays maybe it can fit to use C for effect linking / storyboarding the demo.
Quote:
Respect to Earx
definitely.
Quote:
,for The Sillcut Disassembling.
ehhh you're kidding right?
also worth noting that some of the best amiga prods ever made (shanetro, ear bros promo, etc) were actually made in video tracker.
oh, i always thought they were made in amiga vision.
slummy: word!
Seriously, I was doing everything in asm still back in 98. But the majority of coders were already using the mentioned mix of skeleton code in c and asm for inner loops/trifillers/c2p routines. some quite well known demo was even done in blitz basic with inline assembler. But this is some time ago, could well be that everyone is going java or rsi demomaker these days. :)
If you want to start with the amiga, the question is: which amiga? A500? 030/AGA? PowerPC? For classic amiga effects the by far hardest part is mastering the sometimes esoteric amiga custom chips. For modern (060) demos what you first need is some initialization code and a chunky2planar converter and the rest is somewhat similar to software rendering on a not-so-fast pc. (someone will kill me for this... much more optimization needed, though.)
Seriously, I was doing everything in asm still back in 98. But the majority of coders were already using the mentioned mix of skeleton code in c and asm for inner loops/trifillers/c2p routines. some quite well known demo was even done in blitz basic with inline assembler. But this is some time ago, could well be that everyone is going java or rsi demomaker these days. :)
If you want to start with the amiga, the question is: which amiga? A500? 030/AGA? PowerPC? For classic amiga effects the by far hardest part is mastering the sometimes esoteric amiga custom chips. For modern (060) demos what you first need is some initialization code and a chunky2planar converter and the rest is somewhat similar to software rendering on a not-so-fast pc. (someone will kill me for this... much more optimization needed, though.)
and it's usually only a 256 colors palette!
optimus: if you're going to code gp32, you'll definately need to learn ARM assembler ;)
For scenish things on Amiga, I always code in 100% Asm. Maybe thats why my productions suck so much ;-)
At least Todi/TLU, Bonkers/TLU, Stingray/[S], Scicco/[S], Dr. Doom/IRIS, and Blueberry/LNS all use Asm.
At least Todi/TLU, Bonkers/TLU, Stingray/[S], Scicco/[S], Dr. Doom/IRIS, and Blueberry/LNS all use Asm.
As far as I know most coders use pure asm on amiga. I noticed that funktion uses c at breakpoint, and also I heard that tbl does it. But if you look at the discussions on ada (seems to be the only forum right now where amiga-coding is discuessed) high-level languages are rarely mentioned. I can say that from the amigacoders I know personally nobody uses c =)
Psycho was using the Storm C environment on a Pegasos to write Multiverse at BP... so I guess most of that was in C, but i'm sure theres a fair amount of asm in there too.
I use 100% asm on amiga too, but I'm also a moron.. I've started using C now and mix it all up with my asm sources and pass all parameters through global variables and registers.. Really bad code :) One thing that is very annoying with C on amiga is that compiling takes about five times longer than for an asm source so if you're doing some tweaking in the C-source you'll go nuts.
most amicoders does indeed seem to use asm-only. i guess the biggest reason for this is that they are complete morons (just like slummy), the second biggest being the fact that most amiga (68k) c-compilers suck major ass.
I have coded only one Amiga production and all the code was pure C, except maybe some initialization stuff done by someone else.