In this series of tutorials, we learn ARM Assembly and create a simple game and a couple of utilities along the way.
The chosen lessons are to teach the verious concepts related to writing programs in ARM Assembly Language, and using the RISC OS API. While the topics are higher level, the concepts covered in each lesson are small steps along the way. I tried to choose topics that will hold a new to ARM Assembly Language programmer to stay engaged as they learn.
These tutorials do require that you have some knowledge of programming. Even if just some BBC BASIC, Pascal, Arduino, or even just Python, any experience is all that is needed. It is primarily important that you understand loops and procedures (sometimes called functions, or methods, or subs, depending on the programming language). Knowledge of indirection and recursion are not needed (though may help), as I go into a good amount of detail when introducing these concepts.
NOTE: The folowing contents is an initial outline, and may change a ltitle as I get everything done.
- Part 00 : Introduction to the ARM Asm Tutorials.
- Part 01 : Hello World, Getting started.
- Part 02 : How to loop.
- Part 03 : RISC OS Input and output basics.
- Part 04 : Memory, Memory and a little Memory.
- Part 05 : Let us Plot some Graphics.
- Part 06 : Translating between numbers and strings.
- Part 07 : Moving the picture, simple Animation.
- Part 08 : Timing, fast enough on slow HW, slow enough on fast HW
- Part 09 : A bit about writing to sprites.
- Part 10 : Faster drawing of simple shapes.
- Part 11 : Keeping a copy, object movement keeping background.
- Part 12 : Finding out if we touch, colision detection.
- Part 13 : Sound, only in single tasking.
- Part 14 : Scanning the keyboard, and some issues.
- Part 15 : Do not wait, just poll.
- Part 16 : Putting it togethere, and some mousing around.
- Part 17 : Using what we have to shoot at missles.
- Part 18 : Addins some effects.
- Part 19 : An example of fast and slow.
- Part 20 : Falling blocks, and a 4-block game.
- Part 21 : Simple expression parsing, introducing recursion.
- Part 22 : Dir tree lister, more recursion.
- Part 23 : Snaking about the Tron.
- Part 24 : Adding AI to the other snake.
- Part 25 : A Sprite picture viewer, with purpose.
- Part 26 : Scaling, for many an application.
- Part 27 : Simple Antialiasing, working on large data groups.
- Part 28 : Alpha Blending, showing simple average data mixing.
- Part 29 : Adding background pictures to our games.
- Part 30 : Introducing Bank Switching, and faster screen drawing.
- Part 31 : How to continue from here.