Author |
Message |
rload
Member |
sure youre not assembling case insensitive ?
|
z5_
Member |
@Cyf:
Nice to see you around :o)
|
bonkers
Member |
@dalton, you shouldn't have that ;(
@z5, sounds like you haven't set the case sensitive flag.
|
StingRay
Member |
@z5: try to enable case sensitive mode in AsmOne/Pro, this should solve your problems.
You can find the source of my bp 4k intro here: http://stingray.untergrund.net/temp/Cracktro_READY!.s
This assembles right out of the box, no system includes used (I HATE 'em. :D). There is no chunky effect in it (well, it's oldskool :D) but it might be usefull for you.
About me, I also learned everything myself back in the days. :)
|
d0DgE
Member |
In the early 1990's I saw those crack intros and instantly wanted to know "how the bloody hell" they did this. But no clue, no point to start. By the time the RSI demomaker was released and there were code snipplets included that told stuff about Seka and DevPac... but how to get hold of things like that without a modem/account/swapping contacts?...thus utter cluelessnes how to start Assembly language on Amiga. So I continued tracking modules instead and was very happy with that until 1999. I sort of resurrected my Amiga (read: finally upgraded with 030 + FPU). By that time I started to achieve the first stuff in Java. So it was high time to give ASM another try.
The first things like the AsmOne and a tutorial I leeched from the mighty aminet.
I guess the tutorial is included here IIRC by Cool-G :)
Later on I studied a lot of code from a lot of different people. Guys like StingRay, Scicco and groupmate Doc.K really helped to get hopes up
(kthx folks).
Until now I only did quite weak planar stuff...but in a way I like doing things without C2P routines, although I must admit that lots of effects seem to be quite easy to approach if you only need to do a move.b #COLORVAL,(a0)+ to place a pixel with a certain colour on the screen at your very desired position.
|
krabob
Member |
[quote]Where/how did you learn to code assembler?[/quote]
A storm came upon us while we were on the sea. Hardly could we reach to the shore. As for me, I seized a piece of wood, while those who were in the boat perished without one being left with me for three days. Behold me now before you, for I was brought to this isle by a wave of the sea.
"Then said he to me, 'Fear not, fear not, little one, and make not your face sad. If you have come to me, it is God who has let you live. For it is He who has brought you to this ISLE OF CODE, where nothing is lacking, and which is filled with all good things. See now, you shall pass one month after another, until you shall be four months in this isle. Then a ship shall come from your land with sailors, and you shall leave with them and go to the BREAKPOINT.
|
RetroCoder
Member |
I taught myself 6502 then 68k back in 1987 when I was young. Since then i've moved onto other platforms and have done a lot of assembler coding in x86, SH2, R3000, R5900, PPC.
Out of all those instruction sets 68k is by far the nicest looking - almost looks high level compared to PPC.
Fond fond memories... :)
|
z5_
Member |
I taught myself 6502 then 68k back in 1987 when I was young. Since then i've moved onto other platforms and have done a lot of assembler coding in x86, SH2, R3000, R5900, PPC.
Nice cv :o) I hope you will set up uae and/or buy an A500. Hopefully, one day we will see a demo from you. Would be damn cool :o)
|
dodke
Member |
An old thread but felt like answering :) ...
First some history... I used to try some coding in Pascal a long time ago and a few times tried some c but never really started doing anything. Then around 2006-2007 I started coding Java because of my studies but I didn't start doing any effect code until about a year ago when I used some weeks to code simple effects along with my brother Raimo for some Java demo. For some time I only did some tweaks to the code until ending up putting a simple demo together at the party place at the last Kindergarden.
Around a week and a half before breakpoint I finally got started on coding on Amiga (and learned a bit about C and the magic of pointers(!) for the first time:) but only did the crossfader and some other small things really.
On friday on the way to and at the party I mentioned at least a few people about my plans of doing something on amiga and also agreed with pinza that he could do the music for me the next afternoon. When I woke up on Saturday I kinda felt like I didn't have a choice and started to work. The demo was finished on Sunday morning and was fully coded in C. It took so some effort but I'm happy that I did because it was fun to have something in the compo.
After the party I spent some time optimising the C code more and doing a bit of some new things as well but then finally on Thursday (this week) I started reading about 68k assembler and now have managed to do at least the inner loops of some simple effects (like rotozoomer) in it. Might take a while longer until I'd be able to code for example a whole 4k in assembler but at least for demos and intros this way seems decent and quite easy. I suppose the code shouldn't even be much slower than pure assembler because the inner loops take most of the processing time anyway.
Maybe It'd be cooler to code just asm tho... ;)
|
z5_
Member |
@dodke:
No kidding... i thought you had lots of experience on different platforms before doing vauxhall on Amiga. You did some coding on trauma on Amiga before though?
In any case, as you seem to be progressing fast in the code department, i'm definately looking forward to more stuff.
|
dodke
Member |
I actually only did around 20 lines of code for trauma. It all seemed too difficult at the time. Luckily coding has started feeling slightly easier since.
|
movew
Member |
I think the topic of this thread is both interesting and funny. It sounds pretty much like:
"Where did you learn to DRIVE ?!?!?"
from a shocked co-driver of a 1980's Dodge in the middle of Texas featured in a C-Movie :)
err.. back to the topic: I advocate the 100% Assembler approach just for the fun of it and because the time factor is mostly irrelevant (for a hobby!). I started Asm on PC (with DOS) 15 years ago (a 486DX2-66). Awesome power, built in FPU, Chain4-Mode was nice too (although now I enjoy the C2P coding,too). Soundblaster sucked, and the workaround for linear memory space also was not very welcome... But I ceased that kind of PC coding when the Windoze demos with 3d accelerators emerged. Negative vibes. Oh, and I taught myself almost anything, and also had books like PC Underground or something like that :b
So I began to look more closely at the Amiga scene (also inspired by watching Amiga stuff with expert commentary by Antibyte, who lives just 20 mins away from my place). I love my Amiga 500, and ASM-One has been my new home for some time now :) Online you can find alot of tips and tricks, the hardware reference, 68k manual. But getting to know the stuff that is of interest is a lot of searching and trial/error.
The patient replies of the expert coders on ADA coding forum are a HUGE thing, priceless!! Thanks again!
|
Toffeeman
Member |
Hi movew,
I remember speaking to you on the Breakpoint IRC channel during the demo competitions. Although you were then a full 32 bit movel ! Did you reduce youself to 16 bits as you are working on an A500 demo ? ;0)
When are you going to get Antibyte to post on here ? Why not get him to help you with your A500 demo ?
I learned 68k assembler from some PD disks I bought called ACC I think back in 93/94.
|
movew
Member |
Toffeeman: yes, the Breakpoint IRC # was fun! Haha, yes, my nick movew instead of movel emphasizes my preference for the 68000 with its 16-bit data bus, well observed!
As for Antibyte, he quit Amiga coding for good, and we rather have a beer and talk about other stuff ;) But sometimes we talk about the Amiga scene and Antibyte is pleased that some oldschoolers are still active. Furthermore, he encouraged me to use a real Amiga for all the copper/blitter/raster (hardcore-)optimizations instead of a mere emulator.
But Antibyte still cares for the demoscene and attended a Demoscene Meeting at the dvision as a guest in the audience, see here (on the left, with Gina^dvision and a person I don't recognize :).
And I will point him to the A.D.A!! OK, enough off-topic...
|
ZEROblue
Member |
For me, things started sometime in the late 80's when I got my first C64 and saw some of the earliest demos. I was amazed by them and wanted to learn how to do these effects but had no idea how it was done, other than that the Basic was not enough and that it had something to do with all those bytes being poked into memory, just like in the huge game listings I found in the computer magazines.
A couple of years later I was frequenting a computer club at one of the local youth houses where I met an Atari ST scener, Mega of Sync, who introduced me to the MOS6502 in the C64. Suddenly all the instruction reference pages in The Bible (a name commonly used for the C64 Programmer's Reference Manual) started making sense and after he gave me a copy of the Turbo Assembler I was on the go. Finally I didn't have to write basic loaders for all my programs!
In 1992 I got my first Amiga and things again got to a halt. I had no assembler and no clue of how the CPU or hardware worked and the reference manual was too technical for me to understand at that age. Once again Mega of Sync helped me out, this time with good old Seka and a bunch of source codes to study. I also remember receiving a nice handwritten paper by Judge of Fairlight on linear transformations in 3D using matrix and vector multiplications (a 9-MULS routine as it was popularly called :) which I learned a lot from when implementing in assembly. Eventually I had picked up most of it from trial and error and studying intro source codes i occasionally found on the local BBS.
Good times!
|
scicco
Member |
thats a nice thread! =) so i'll answer as well...
i started to code back in 1999 on my a2000 directly in ASM, i had no experience in other languages (well, COBOL and a bit ABAP, but this does not count ;). i leeched the ASM course from aminet as i knew nobody coding on amiga. i stepped thru the course and some months later i was able to code the blitter, copper etc but had no clue about c2p. so i asked yomat/nature for help and he gave me the url of kalms article about c2p. i coded my own c2p to understand the system. piece by piece i learned some c2p effects and coded them - slow and ugly, but working. :) as i still had only ECS i bought an a1200 and coded the first AGA stuff, nothing special, std stuff. later i learned to know stingray and we spent HOURS of time to code together and we changed sources and ideas, created smart startup codes and engines etc. that was a cool time. nowadays we live far away from each other so everyone codes on his own.
but we still code, that counts and stands for 68k asm! ;)
|
z5_
Member |
Nice to read how everyone started out. In the end and based from my little experience, i think that the best way to learn asm is to know somebody who lives close by and can teach you. If not, you end up banging your head against the same wall time and time again.
@scicco: nice to see that you're still coding. Keep it up :)
@zeroblue: did you ever release anything?
|
ZEROblue
Member |
Z5, sorry to say, no.
At one point I stitched together a lot of the effects I had been "stocking up" for a long time but eventually scrapped that first and only full demo project I've ever had because I was very critic of my own work and didn't feel it was up to the standard of even A500 demos at the time.
I'm still hoping to find the motivation to start, and patience to finish, even a simple "one-screener" some day though :)
|
d0DgE
Member |
then the GREP parties would be the best way to submit an entry because they offer the famous "one screener" compo IIRC ... I also loooove to do crack-intro style one screeners =) ...it's back2theroots
|
pmc
Member |
My two cents on the original question about learning to code:
I learned (and I'm still learning! :-P) by trial and error just trying to code things that I wanted to code until things started working.
The first thing I did was a sinescroller - first a four pixel, then a two pixel and then a one pixel version. I've done some copper tricks and other things and most recently I did my first ever vectors routine.
It always helps if there's some really helpful people around (hi StingRay! :-D) who can give you advice and guidance without spoon feeding you too much.
In my experience it's better to try to think about how to do something as much as you can first and if you get really stuck - then ask. That way the answers make more sense anyway because you've played around with ideas and things yourself that have taken you 90% of the way towards the right solution and the advice is then just the final piece of the puzzle.
Sometimes seeing someone else's source code can really help too especially to make you think of things or think in ways you might not have considered but other people's sources can be a double edged sword by sometimes making you more confused. They can make you try to run before you can walk if you see what I mean?
I've rambled on but the short answer is to have the desire to try, get helpful advice when really needed, take your time and above all enjoy yourself!
|
z5_
Member |
@pmc: some very good points there. Are you planning on doing a demoscene production at some point? Would be great.
From little experience (or lack of), i would say that the best way to learn how to code is to have somebody living close with coder experience and knowledge. Nothing beats talking to people and sharing ideas (mind you, i've never done it). I had a little demosystem that i knocked together from various sources (diskmags, forums,...) but at some point, you really want to sit down with an experienced coder for an hour or two to discuss that code and to ask if it actually makes sense. Otherwise, you're stuck in a loop and keep on redoing the same mistakes.
Just saying: learning from somebody with a lot of experience can be very enriching. Forums is a good way to communicate but it's still not same as actual conversation.
|
dalton
Member |
and that's where breakpoint come into the picture...
|
pmc
Member |
z5_: Are you planning on doing a demoscene production at some point? Well, I started my own little demo group by (called Retro) by coding a very small intro type demo called We Are Retro - there's a logo with a copper bar "wave" routine running inside it with a sprite starfield behind, below that an RGB plasma and below that a scroller. Oh, and there's a nice Protracker .mod playing too. :-) Currently I'm coding parts for Retro's very first megademo with a few other guys that I've recruited along the way. That's what my hidden line vectors routine is for - it's my first part for the megademo. I'd be more than happy to share the source codes to any routines I've done or for my We Are Retro intro. I'll be happy to share the sources for any of the megademo parts that I do as well but only after the actual demo is released obviously - don't want to spoil all the surprises! :-) Anyone interested can follow the progress of the demo on http://eab.abime.netUnder the Coder's Heaven section there's a thread called Retro Megademo Progress with all the latest information. z5_: Just saying: learning from somebody with a lot of experience can be very enriching. Forums is a good way to communicate but it's still not same as actual conversation. I agree. Unfortunately for me forums and email and stuff is all I have really for contacting people to chat to. You can also contact me on EAB, or on here if you don't feel like wandering too far ;-), z5_ if you ever want to chat about code drop me a PM or I can always send you my email address. :-) dalton: and that's where breakpoint come into the picture... At some point I'm sure I'll make my way to a proper gathering and Breakpoint would be a nice one to go to.
|