DexBasic

The Bare Metal Basic Programming Language..

This is just a very basic intro into the DexBasic programming language, well the most important thing you need to know about the language is that you are not programming in basic at all, but Assembly. Before you run and hide, i am going to  hide the assembly part under a basic like language, using assembly Macro.
But you will still have most of the advantages of code in full ASM, but with a more beginner friendly programming language.
Once you have made some porgress in the basic like language you can add some assembly code anywhere in the code, thats if you want to, you may just want to get the job done in the fastest possible way and just use the basic commands to do that and leave the low level stuff to us.

The basic language its self is not based on any one dialect of basic, but a mix of old and new basics from qbasic to darkbasic, plus some new commands.
The list here is not anywhere near the full language, but just enough to show you whats in the tutorial do, we are adding new commands everyday and if people find a bare metal basic language useful, then the language will be extended, if not, theres little point intaking it much further.

There are some key things that need to be in every app you program in DexBasic code, they include these:


This set's some key things up and store our macro's, so you must included is as the first code.
Next is this piece of code


This bit of code placer's the label "ProgramSize" aligned on a 4 byte boundary, so its address in memory is a multiply of 4.
The label "ProgramSize" is used to work out the size of the program and must be at the end of the program.

If are outputing info to a screen, you will also need this after the above code


This is the address of our off screen buffer, which to anyone that knows about coding is out side the end of our program, this is find as long as the buffer size plus the size of kernel.img is not bigger than the available ram, which in these tuts its not.
By doing it this way, you will make your kernel.img smaller on the disk (sd card).
I will show you how to test size in one of the tuts.