Copy Link
Add to Bookmark
Report
Saxonia Issue 01 Part 008
Starting to code.
By Rumrunner/VOID
~~~~~~~~~~~~~~~~~
Although people say that the scene gets smaller and smaller each day,
I'm sure that there are still some people who want to learn to code.
The sad part is that, most likely they will encounter some startup
problems which is very demotivating. And motivation is important if
one is to start doing something and put some work into it. This article
is meant help those who want to learn the trade of assembly, giving
some guidelines to get things going the way they should.
So, the first thing is : where to get necessary tools? This should
be simple in these days when everyone can get his hands on an internet
connection, either in the privacy of his own home, or in school/work.
But, it seems that for one reason or another, it's not so easy to find
neccesary tools on internet.
First off, the assembler. If you are unknown to these programs, you
might fall into a trap; getting some pure-shit assember, and then think
that this is what you have to live with, if you want to code.
I think that the assemblers like ASM-One is the best. They don't use
hundreds of separate windows for each little function, and they have
good exception handlers built in, meaning that if you do something
wrong in the code, like jumping into a data area, you will most likely
only return to the assembler with an error message on the screen.
Also, these assemblers are well suited to see some results of your
code fast. It takes some lines of code to make something appear on
screen, and if you try to do this at the very start, you might find
that you really don't know enough yet to understand what you are really
doing. That's where the mempeekers in ASM-One, the old Seka, and
probably the ASM-Pro comes to handy. You can start off writing to some
memory you have reserved, and then look at the memory to see what has
really happened. Certain assemblers require a standalone program to do
this. Short said - get the right assembler, as it will make learning
much easier. Asm-One is good, so is DevPac, but Devpac is not that
good to look at memory and such. Avoid assemblers where you have to
cycle through hundreds of windows, also avoid the commandline assemblers
where you have to write your program in a texteditor, save it, assemble
the file and then try it.
Then you need some documentation. The docs you will find will often be
a bad place starting to learn to code, because there are several things
explained to theoretical, in the sense that what is said might be
correct, but you have to be the writer of the book to understand what
it really means. The good way of easing this is to learn to write to
memory and modify it as mentioned above, and then follow the examples
in whatever documentation you have got.
By the way, there are some documentation you really need to have, the
hardware reference manual (at least if you are interested in making
demos/intros as they). You can find a very old version of the hardware
reference manual at www.programmersheaven.com, in the amiga section.
It's adequate for finding hardware adresses when you have come to the
point that you are ready to try doing some bigger programs, taking over
the computer. But don't expect too good example code. There's a
never version at www.amycoders.multimania.com, but this is in
amigaguide format. I prefer to print the docs out and have them on
paper, and if you are going to do that to the version found on
the last adress mentioned above, you will need to convert it. Also
worth noticing is that the amycoders webpage also has library
documentation which you should get if you want to make system friendly
programs.
Code examples are best after you have learned the basics of assembler,
and even then, you should try to understand what the example code does
by writing some part of it over again (ASM-One is good here as you can
have several sources open at once) and try to make it work with your
own initialization routines. Then, you will understand what the
adresses really are used for.
I plan to write an introduction to coding, so for all you who are
interested, read it, and good luck.