[A83] Re: Enhanced Basic
[Prev][Next][Index][Thread]
[A83] Re: Enhanced Basic
> Van: Adriaan Coosemans <adriaanc@mail.com>
>
> Hy, I'm very new to assembly, but I'm reading most of the mails
> during the last few weeks. I also read a bit in asmguru and I think
> I understand it. A few days ago, I read about Enhanced Basic.
> So here is the question:"What is Enhanced Basic?"
> I think it is normal Basic but with a bit of assembly in it. Probably
> I'm totaly wrong.
Mixing BASIC and assembly isn't very common on any of the Ti calcs, it has
been done now and then. More like things that would 'backup' the
screenbuffer in the APD-buffer and recall it again, shift the screen x (or
y) pixels, etc.
For example (old style, Ti83, using Aurora API):
PROGRAM:BLAH
:1->V
:8->A
:15->B
:80->C
:40->D
:prgmZAPI
=> Draws a 'window' from (8,15) to (80,40)
Since it is possible to read from certain memory areas where exactly the
TIOS has stopped processing the BASIC program that did a send(9prgm..
[Ti83] or asm(prgm. [Ti83+]. you can let your program interact with the
data in the BASIC program.
Now we can do (Ti83):
PROGRAM:BLAH
:Send(9prgmAPI:(8,15,80,40)
prgmAPI now reads from BASIC_cursor ($9146) where the BASIC program has
ended, then reads from there what it should do:
$10, ah! the opening parenteses
$38,$2B, First number => 8
$31,$35,$2B, Second number => 15
$38,$30,$2B, Third number => 80
$34,$30,$11, Fourth number + closing parenteses => 40
Now store new BASIC_cursor, and draw the 'window'.
Of coarse there needs to be error-checking, maybe if we don't read past the
end of the BASIC prog. But this is basicaly what needs to be done.
> Adriaan Coosemans
Anywhere related to Tijl Coosemans?
Henk Poley <><
Follow-Ups: