BASIC Doesn't Have to Be That Basic
|
Posted on 24 January 1999
The following text was written by Patrick
Wilson: Hello everyone. I've been thinking a lot after submitting my
article, The TI Programming Alliance, and I realized
a few important things. People complain that good assembly programs are few and far between.
This is unfortunately true, however don't leave BASIC out. Unless it's for the TI-83 or
less. Let's face it, BASIC pretty much just sucks. With the exception of rapid development
and almost no risk of crashing, it's slow, cumbersome, inefficient, and resource lacking.
Assembly makes up for this, fixing all of these (most of the time). Now, I may have strayed
a bit, but... I bring these facts up for a reason and I'll get to the point in just a bit.
There is this group of highly talented BASIC programmers that go under the name of "BKSoft".
They make VERY good games for the TI-86. All in BASIC though. Second, an assembly program
under the name of ASAP X Command extends BASIC in a unique way. It adds simple, fast, and
very effective extensions to BASIC such as the ability to display inverted text, draw
sprites, test the existence of variables and much more. Now, I will explain why I've said so
many different things. What if BASIC was extended by so much, that you couldn't tell where
the BASIC ended and the ASM begins? That's right folks! Add assembly power functions to
the built-in BASIC. Just think, it wouldn't be that awfully hard. - Find
out what BASIC programmers want.
Personally, I want the ability to draw sprites, find
out whether or not the Axes or Coordinates or the Grid's are on, and have fast encryption
and decryption. Just think, a math program that didn't mess up your graph screen, a BASIC
RPG with fast moving sprites (Yes, BASSPro for the 86 does do this), and a way to encrypt
saved games with a password so no one can screw up your saved game when you almost beat it!
- Create an API.
OK, big idea coming! OK, you got one program that runs
tiny little applets in the form of a prgm file. The applets would add all the functionality,
while the big one would be run through the BASIC program wishing to use the applets. The
program would search for all applets with a certain header and load them. Finally, the
program could use the commands that were added by the applets. Phew!!! - Keep some
control.
We want functionality, not oversized crap. If this idea is put to use,
please use good judgment.
|
|
Reply to this item
|
Re: BASIC Doesn't Have to Be That Basic
|
George Wellman
|
Hello, everyone... I don't know if this has been mentioned yet, but a very useful asm library for use with Basic is Zapi, for 83 and 83+. It does unlimited sprites, all contained in one neat little program, that you draw yourself on the computer. Unlike Omnicalc, you don't have to use up a picture variable. It also does instant graph or text inverse, scrolls the screen horizontally and vertically, stores one picture without taking up a pic file, or any memory at all, does unlimited pics in one asm program, does maps (again in one program), and does patterns. This program just plain owns! Also, sound routine for 83 and 83+ allows sound, and Rigview allows greysclae pics that can be run from basic. So, with these programs, Basic can (almost) be as fast and graphical as Asm! Check out my website, www.geocities.com/mightyg16, to see screenshots and inf about my upcoming game, Ender's Game.
|
Reply to this comment
|
1 August 2003, 20:26 GMT
|
|
Re: Article: "BASIC Doesn''t Have to be That Basic"
|
Jon Mullen
(Web Page)
|
OK, well. I'm a VB programmer, and I love the way VB lets you make GDI32 calls. Otherwise, I'd have to make all this bloated sprite stuff and junk...nasty. I think that there should be some ways to make calls to some ASM that would let us add MORE flexibility. BASIC isn't very flexible, but ASM is so...low level. I'm not saying it's difficult, no, but it's...cryptic. Atleast in BASIC one can always figure out what's going on. And I've been able to apply ALL of my knowledge from programming in QBasic on computer to TI-BASIC. Tell me you can apply EVERYTHING from Intel ASM to Z80 ASM...
|
Reply to this comment
|
24 March 1999, 03:50 GMT
|
|
Re: Article: "BASIC Doesn''t Have to be That Basic"
|
jgabby
|
My main complaint about TI-86 BASIC is that large programs take around 5 minutes to compile themselves on the calculator every time you make the smallest change. And on programs that are newly written and being debugged, this is a time-consuming hassle. The only way to get around the problem is to divide up into many small programs. Then you have problems with transferring to other calcs, having to make sure all parts are sent. I use ASM for text-based programs simply because it can't be beat for a simple, large scale database type program. It actually takes less time to type in, runs faster and takes up less space (about half) on the calc.
|
Reply to this comment
|
25 March 1999, 03:54 GMT
|
|
|
|
|
Re: Re: Article: "BASIC Doesn''t Have to be That Basic"
|
ShadowLord13
|
I use multiple sub-programs in all my BASIC programs, and it's not hard to transfer them to other calcs, because i give every program a 3-letter name that I prefix to the sub-programs, example:
War
warHIT
warDIE
warNXT
warNEW
warCONT
warINST
or
Graph3D
gtdPOLY
gtdSTAT
gtdSETUP
And when I go to send them, the prgms are all right together.
And when you run them, only the main program's first letter is capitalized, so u see those first on the PRGM menu! The sub-programs don't get in the way of the main prgms when you're trying to run a prgm, and they're easy to find, and send when you're giving them to someone else!
(All my prgms data uses the same scheme, warDATA for instance.)
It works, and cuts down on size too (using multiple subroutines instead of having a dozen copies of the same code scattered throughout one big prgm)
Also, i've noticed that whenever i try to edit a BASIC prgm that's larger than 15K, my calc crashes. I've got a ti-86, rom 1.2 (i think, maybe 1.3) Does this happen to anyone else? NOTE: It still does that when I've got NO asm programs on it, and did a full reset, because it kept doing that before i'd gotten any asm prgms or a graphlink, and it's taken me a year to figure out why it kept crashing! That it crashed is really why I started using subs, and I've noticed it slows down just a little with sub-prgms instead of one big prgm, and not from tokenizing.
Plus, with small prgms, tokenizing time is cut down, you modify one sub-prgm, you don't have to wait 5 minutes for the whole thing to retokenize.
|
Reply to this comment
|
21 June 1999, 16:54 GMT
|
|
1 2 3 4 5 6 7 8 9 10 11
You can change the number of comments per page in Account Preferences.
|