RISC OS Asm / BASIC Fun : DOCS

HOME . DOCS FILES LINKS
***** Documents: *****

This section is for various tutorials and other documents I write. The main sections for the time being are:

  • RISC OS Programming: Programming documents and totorials for RISC OS.
  • Other Stuff: Misc documents.

*** RISC OS Programming: ***

This section will link to pages that contain various documents and tutorials on programming in and for RISC OS. The tutorials will range from beginers to advanced level tutorials. Those sections that are not yet on the site will be listed, though will not have a link to follow. The documents will provide useful information related to programming, such as notes on algorithms and optimal coding.

Assembly Language:
  • Starting ARM Asm : A 32 part introduction to programming in ARM Assembly Langauge.
  • WIMP in Asm : Writing Wimp programs in Assembly, in 32 parts.
  • Writing Modules : 32 Part tutorial on writing modules, in ARM assembly.
  • Sound Modules: 8 Part tutorial on writing modules to produce sound.
  • Going Deaper into the OS : 32 part tutorial on hooking vectors, changing the behaviour of SWI calls, and low level Error handling.
  • Direct to The Hardware : a 16 Part tutorial on directly accessing HW in RISC OS, using the frame buffer and RPi GPIO as examples.
  • A Small Touch of Optimization : If you write Assembly, there may be times you need to know how to create simi-optimal code. For these ocasions here is an 8-part on optimizing your Assembly.
BASIC V:
  • BASIC WIMP Programming : A quick 32 part tutorial on writing WIMP programs for RISC OS in BBC BASIC V.
  • BASIC Improved : Tips, tricks, and optimizations for BASIC programmers.
C Programming Language:

The following tutorial is shows the way to write WIMP Applications using my MSysLib bindings. I am still cleaning up, and rewriting parts of the MSysLib Bindings so I can release them so there will be a bit before I get to this one.

  • A little C WIMP : Writing WIMP Programs in C, using MSysLib.
Optimizing:
  • Know thy Algorithms : Correct choice of algorithm, and implementation of the algorithm are the best optimizations you can do.
  • Keep it Out of the Loop : Anything that is invariant across itterations of a loop should be done outside the loop.
  • More Optimal C Coding : Some tips for more optimal C.
  • Optimizing BASIC V : Some tips for optimizing BASIC V Code.
  • A little more on optimizing ARM Assembly : For those that enjoy this kind of thing, or are writing a compiler.
Graphics:

Of course we must do something about graphics programming! What fun would it be to get going without faster graphics?

  • Asm GFX : Some fast 2D graphics algorithms, presented in C and Assembly Language.
  • Asm 3D : A 128 part series on methods of 3D rendering, 3D mesh sorting, Culing, etc. Covers all the basics to get far enoguh for most applications that use purely software ARM side rendering.
  • Clipping Overview : Clipping in graphics output is used a lot more than most think about. Because of the importance of clipping some time is being devoted to this area.
  • Rectangle Clipping : The method of clipping used in many Windowing Systems, as well as for many games. This is the method used in the WIMP of RISC OS.
  • Scanline Clipping : Some information on Scanline Clipping. One method of clipping graphics output.
  • Regions : Improving on scanline clipping, to be faster and and more resource efecient overall.
Algorithms:

"Know Thy Algorithm". The Optimization advice would mean little if you do not have any way to learn the algorithms, as well as methods to help develop your own algorithms. This section will end up having information on commonly used algorithms, as well as information on where to find more information on good algorithms.

*** Other Stuff: ***

This section will link documents I write that do not fit into other catagories on this page. Some of these are point of view type things, some are comparisons, etc.

This site created on RISC OS using !Zap.
Hosting for this site provided by David F
This page viewable with Any Browser
LAST UPDATED: Nov 14th 2022