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.