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: Article: "BASIC Doesn''t Have to be That Basic"
|
Rnad64
|
I ahve programmed a few BASIC things myself (TI Bank, etc.) and I think that thsi would be a great idea! It would allow those of us who do not have much ASM experince to program some pretty cool things. Our BASIC programs would be faster, and could possibly contain some grayscale. Great notion Wilson.
|
Reply to this comment
|
27 January 1999, 03:02 GMT
|
|
1''s and 0''s
|
Buddy Jenks
(Web Page)
|
Just a little thought- when TI developed their BASIC interpreters and calculator OS's, they worked in ASM, correct? So in theory, it could be possible to re-write the entire memory on the calc to do whatever you want? I'd like to see some work on this subject- instead of all this arguing about which is better, BASIC or ASM. It all ends up as 1's and 0's in the end- good programmers can make those little ones and zeroes do what they want, when they want it, and do it faster than previously thought possible.
Just my thoughts on the subject
|
Reply to this comment
|
27 January 1999, 09:03 GMT
|
|
|
|
|
|
|
|
Re: Re: 1''s and 0''s
|
Mike
|
Ok, I'm an 82 person, so forgive me for my lower-end setup. I belive the calculator has a ROM chip and a RAM chip. The ROM loads itself into RAM, occupying part of the system memory. What if you had a loader that could send a string into that RAM space, overwriting the default code with the modified code? The original TI-OS would still be stored in the ROM chip, and would reload on a RESET command. Am I right? E-mail me with any suggestions. I'm trying to get into some ASM, but I think that combining it with BASIC into a new language, C++ or otherwise is an even better idea. While I know squat diddly about ASM right now, I do pick things up quickly, and after reading my old Commodore 64 manuals, which closely resemble the Z80 architecture, I figure I could learn it fairly easily. But I'd MUCH rather have an actual language to program in. I've written several versions of Windows for the calc, all of which, imho, are very good. However, with ASM libs or something, they could be expanded to cover so much more, with less code. Just an example, of course. I really hate the ASM style, and I love the BASIC, I just want to see some enhancements. Maybe I'll work on a few libs.
Mike
|
Reply to this comment
|
5 June 1999, 07:13 GMT
|
|
Re: Article: "BASIC Doesn''t Have to be That Basic"
|
Artius
|
After spending the better part of an hour sitting here reading these comments, there is on thing that is apparently going on. ASM programmers are afraid of loosing their "fame" (and I use the term loosely) for their ASM programs to BASIC programmers who, using this meathod, might make something better.
To all of the ASM programmers out there, if you think everyone should use ASM, write a good help guide for programming in ASM for the 89 or 92. Many who learn BASIC use programming guides to start off. Just remember, not everyone is as "gifted" (another loosely used term) as you were when they try to learn ASM. If programs like the ones suggested in the article were used, it would ease that transfer to ASM.
Unless your afraid that someone else will be better than you (and someone always will), why don't you (all of you ASMers who are trying to shoot this idea down) try creating these programs. If your looking for "fame" that would be the way to go.
My two cents.
Artius
|
Reply to this comment
|
27 January 1999, 22:43 GMT
|
|
Encryption?
|
Bellman
(Web Page)
|
Ok, that idea is pointless. No kind of encryption will prevent saved games from being deleted. Second of all, WHO CARES? Just keep your calc in a safe place...
|
Reply to this comment
|
28 January 1999, 01:43 GMT
|
|
ASM Info
|
Rob Hornick
|
Can anyone direct me to a good TI-92 ASM programming tutorial? An e-mail would be greatly appreciated (I won't come back to check this.)
Rob Hornick
|
Reply to this comment
|
28 January 1999, 01:54 GMT
|
|
Gameboy
|
Cullen Logan
|
I was wandering if it would be possible to take a rom image from a gameboy game that you can get off of the internet, and make it into a calculator game. Of course ther would have to be some kind of emulator on the calc, but maybe it would work. Then of course there would have to be a computer program to make the rom image a string, but maybe someone can figure it out. Just a thought!
Cullen
|
Reply to this comment
|
28 January 1999, 13:24 GMT
|
|
Re: BASIC Doesn't Have to Be That Basic
|
GleasSpty
(Web Page)
|
asm is great for making fast games and is much smaller
i have made sme pretty good basic games but are really slow because the AI is pretty long and takes a while
it would be a really good if it was in asm
but asm is so difficult
just displaying text in the center is so difficult or adding variables can even be somewhat complicated
ld 5,a
ld 6,b
add a,b
that is different from many languages like c++ like:
#include <iostream>
int main()
{
using namespace std;
int a=5;
int b=6;
int x=a+b;
return 0;
}
that c++ is somewhat understandle i think more than the asm at least
|
Reply to this comment
|
29 November 2002, 04:28 GMT
|
|
This is for lexlugger
|
Calc Lover
|
Attention to a certain mr. "lexlugger":
I know this is totally off the topic, but since you're a famous Pro Wrestler, why don't you just go to the house of anyone that flames you and give them THE RACK?
By the way, I write plenty of basic progs for many different math purposes. I have seen games, but unless they're text-based, they aren't very good.
TI Calcs rock!! (especially the 86 and 89.)
Calc Lover (nWo 4 life, baby!!)
|
Reply to this comment
|
30 January 1999, 06:50 GMT
|
|
"Basic" differences
|
Sledge
(Web Page)
|
Ok, there has been enough bashing in this article. I was once a Basic programmer, and wanted all the advanced functions without having to really understanding how they work. True, this might be a good idea for some (ie white line, text color reverser). However, it was the very LACK of these features that finally prompted me to go learn ASM. I still use basic from time to time to knock out a quick math program, but for true functionality ASM can't be beaten. Can Basic do it? Sure. Slowly. I know because I used to program that way. However, the idea for ASM plug-ings is not necessarily good despite its outward appeal. Before I even began programming, I was a "normal user" with no knowledge. One of the guys at my school had programmed an entire suite of games in Basic, using a bunch of shared sub-programs to add fuctionality and save space. Problem was, copying a game was never as easy as just taking that one file. You had to make sure you had everything, or else risk running into weird errors. ASM modules will re-introduce this same problem. While Basic is a good learning language, go learn ASM. REally, it's not that hard. You can do it.
|
Reply to this comment
|
30 January 1999, 09:50 GMT
|
|
Re: Article: "BASIC Doesn''t Have to be That Basic"
|
Cliff
|
I've been pushing for this too. :-)
A lot of people here have been proclaiming "Can't Be Done" when they should be shouting "Can't Be Done On My Calculator." Sprites and sidescrolling is certainly possible in TI-92 BASIC, though it'd be hellishly slow. Sound is also possible, though I've never done it myself (but I saw a program once). Moreover, parameters can be passed and such. However, I think the central problem with all this ASM vs. BASIC controversy is that you people are neglecting the purposes behind the languages.
Assembly language is designed to direct the processor. Advantage: fast'n'dirty for your games and such. Disadvantage: lacks opcodes for, oh, say, Integrate This Function.
The BASIC on your calculator was DESIGNED TO DO MATH. (Gee, math on a calculator?) Therefore, it's not all that speedy when it comes to games. Of course not. But for scientific or mathematical applications, an ASM program is virtually useless because the programmer would have to (1) code his/her own routines or call TI's remotely, (2) take parameters from the home screen or an interface and somehow pass data back, and (3) account for all the what-if's that TI HAS ALREADY TAKEN CARE OF (mostly) in their math routines. So here's my conclusion: write your games in ASM. Write your animations in ASM. Heck, do your streaming audio or whatever y'all develop next in ASM. But don't bash BASIC...when you need to write a front-end for regressing, graphing, and correlating models from a bank of data, ASM will seem strangely underpowered.
|
Reply to this comment
|
4 February 1999, 08:19 GMT
|
|
Need Some Advice
|
ATR
|
If someone would be so kind as to e-mail me a response, I'd really appreciate that. The Question: I have a TI-82 (completely erased) and was attempting to write a game prog which I found on the net. However, most of the characters, I couldn't figure out how to type...(e.g. \, #, @, &, %, | etc.) I've found plenty of character charts, but they never tell you HOW to type the symbles. I'm sure at least one of you would know how to help this pathetic newbie...
~Cheers~,
atr
|
Reply to this comment
|
7 March 1999, 01:55 GMT
|
|
1 2 3 4 5 6 7 8 9 10 11
You can change the number of comments per page in Account Preferences.
|