TIB: re: ASM from TI-Basic


[Prev][Next][Index][Thread]

TIB: re: ASM from TI-Basic




I don't quite follow how these "ASM Modules" are being written.  It looks
like BASIC or English commands in a separate BASIC program designed for
one task (modular programming).  The real issue here is a lack of the
commands needed to do this.  Invert?  Sprite?  They're non-existent on
the 86 as far as I know (not that game programming is my thing)...and if
there were routines programmed by some generous  guy out there who knows
how to program the calcs in assembly language, the commands wouldn't be
nearly so pretty.  

Take, for example, the already existing (86)"conv" routine.  Conv will
turn a string into a program for somebody.  (I'll be making good use of
it in TI-86 Graphical Analysis if it ever gets off the ground which is
after I finish programming the Torrez Method (more accurate than what the
calc uses (Simpson's Rule)) into the new, improved, working version of
IntEst for the 86)  What Conv does is look for the string called "A" and
turns it into a program called Tmp (or something like that) with the line
"Return" at the end.  One can then call this program and has in effect
executed a string as a command.  This can be used for a variety of
things, including allowing a user to choose his own variable names.

When calling the "conv" routine, one runs it like any other compiled
program on the 86: 
: Asm(conv

not 
:conv("Execute this string","goddamnit"

There was a thread a while back about command line parameters for basic
programs...it can't be done for them and certainly can't be done for
assembly programs.

What I propose is that a few conventions are adopted by the builders of
these command extensions:

1)  The command variable's label is the module's name+"cmd"

Thus, the command string name for "conv" would be "convcmd" or for
"rename" it would be "rencmd" (due to the 8 character maximum)

2)  The modules and anything pertaining to them be named in lowercase

3)  That there be standard commands and syntax shared where applicable

All of these modules should at least have a command called "vercheck"
where they return their version number as an OS numerical variable (named
by a similar standard to #1:  module name+"ver") and one called "cleanup"
where they delete anything they create

4)  That modules be combined where appropriate

For example, graphics/animations modules can be put into one library, as
can a standard TI-BASIC extension package.



My suggestions for features would be:

An improved "Delvar".  This command should have been designed to accept a
list of variables.  Instead, it must be repeated over and over and
over... (but I'm spoiled now...back on the 82 I couldn't delete a thing)

Versions of the QuickBasic/MS Basic commands "VAL", "STRING$", "GET",
"PUT", "POKE", "PEEK","BLOAD", "DATA", "READ"

A "Waitkey" command (improved getkey, kind of like the MS Basic "INPUT$")

A variable renaming command

An inverse text command

An 82-style menu command

An improved 85-style menu command that allows for use of more than 5
items


Just my $.02

-Ben Kalafut

(Who will be posting his centroid of a lamina finder program within the
week)

___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com/getjuno.html
or call Juno at (800) 654-JUNO [654-5866]


Follow-Ups: