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
|
musicdesp01
|
Yeah i see ur point but still Basic is very easy to assemble and there are programs that convert Basic to Assembly but yes ASM is good but Basic is well Basic but still what about a inter-linear language
a cross between basic and asm
|
Reply to this comment
|
2 October 2006, 20:28 GMT
|
|
Re: BASIC Doesn't Have to Be That Basic
|
300o
|
On TI BASIC:
I'm a pure TI BASIC programmer, and I have one thing to say-
(coughs)
er....
(thinks for a second)
Oh yeah! being a TI BASIC programmer may have it's pitfalls (ie: speed, graphics, size), but in today's world, we can easily help that! For the speed, just use subroutines for massive programs and for graphics, figure some way to help it out! Omnicalc works fine in my opinion, and other programs or groups of programs that are assembely can help out (slightly, but they can). For the size, er um, well..., the only way the average TI BASIC prgrammer can cut back on size is to take out all of the little areas and commands that are not needed. THhe size can be helped, but it would require a lot of time to redo the entire or even parts of the prgram that are memory hogs.
|
Reply to this comment
|
16 October 2006, 21:24 GMT
|
|
Re: BASIC Doesn't Have to Be That Basic
|
graphmastur
|
Hey, I'm just wondering.
Since the screen is an lcd, can't you find someway in asm or maybe even basic so that you could create color in basic like so:
line(0,0,10,0,"green\
or
pt-on(0,0,Green)
Just wondering
|
Reply to this comment
|
3 June 2007, 15:58 GMT
|
|
Re: BASIC Doesn't Have to Be That Basic
|
ekidxp2
|
I object. My first time ever programming was in TI-BASIC for some old TI-83. I loved it. BASIC being basic allows simple math programs to quickly be made, and games to be written when I have no idea how to do it in Java or C++ (I wish some TI-BASIC features were in them, actually).
BASIC is great, and even though it lacks in speed, it's great for what it does, not what it can do (which is still quite a lot).
|
Reply to this comment
|
18 August 2008, 18:04 GMT
|
|
Re: BASIC Doesn't Have to Be That Basic
|
Charles D
|
I think the best way to improve BASIC is speed. If we could get a simple BASIC->ASM compiler that would make basic as fast as asm, it would solve everything.
|
Reply to this comment
|
9 March 2021, 18:09 GMT
|
|
Re: BASIC Doesn't Have to Be That Basic
|
Abs S
|
I know this is off topic but I don't know where else to put this. Is there a program for the TI-86 that can factor like the TI-89 or TI-92? Onw of my friends has a TI-92 and al he has to do is put in the factor program and then type x2-7x+28 and it'll give him the answer in this form: (x- )(x- ). He can type anything he wants and it'll give him the answer. If anyone has a program like this please e-mail me. Thanks
|
Reply to this comment
|
2 April 2001, 22:15 GMT
|
|
Re: BASIC Doesn't Have to Be That Basic
|
the one
(Web Page)
|
Why not just get a good c or c++ compiler (or interpriter if there is such a thing) that will run on the calc? The only real reason I use BASIC more than ASM is because I have my calc with me all the time and a computer with me only some of the time. I also like c++ a lot better than basic.(or asm)
|
Reply to this comment
|
26 May 2001, 06:05 GMT
|
|
Re: BASIC Doesn't Have to Be That Basic
|
Neo_Coel
|
In agreed, I say why not make an asm library, with input from basic, further, make a windows/linux program that you would take your basic function and convert them or it to asm, slow and long process, but each user could make their own library with little or no asm knowledge. Then uploading your own function for every user out there
|
Reply to this comment
|
4 April 2002, 04:42 GMT
|
|
As A Basic Programmer...
|
joebeta
|
I'm a Basic programmer, I've never really tried ASM though. Actually, I have read some tutorials... but... no.
I totally agree that ASM is for the processor, Basic is for the people, and that Basic functionality should be improved. OmniCalc, Symbolic, etc. Apps like that do that. Maybe an App, ASMlib or Function or SuprCalc or something that.
Anyway, like in Omnicalc it would be a menu that showed the "new" features for the calc. Some new features I would like to see:
Sprites (OmniCalc has it)
ShutDown
Archive
UnArchive
Delay (in milliseconds)
Grayscale
Sound
A special menu with all the wierd characters, like ê (e^) and other characters (;)
Arrays
Stuff like that. O, and I use an 83+... so forgive me if those are available on other calcs (I know the Greek menu or something is available on 85).
|
Reply to this comment
|
10 May 2002, 06:00 GMT
|
|
Re: BASIC Doesn't Have to Be That Basic
|
john smith
|
From where I'm standing, the main problem with making a BASIC graphical RPG for TI-83 is not speed (now that Omnicalc is out *g*) but size. To have a really good in-depth game (with a litle thing called a PLOT) I'll need to run stuff from archive...probably will need the persons to have MirageOS. Assembly will cut it down sizewize, but let's face it. There will never be a large number of peeps who want to spend a large amount of time learning assembly then spending insane amounts of time writing...so BASIC will always be more used. Live with it.
Oh by the way, does anyone know a program that would allow you to archive/unarchive programs on the TI-83+?
|
Reply to this comment
|
17 June 2002, 17:38 GMT
|
|
Re: BASIC Doesn't Have to Be That Basic
|
zzo38
(Web Page)
|
I think you hav to ad comands for:
* Turn on and of menus
* Timer, alarm
* Do like you pushed a buten on the calculater
* Make a chart or table
* Upercase and lowercase
* Make a text edit window, and program can do stuf with it
* More stuf
|
Reply to this comment
|
3 September 2002, 20:33 GMT
|
|
and the size is . . .
|
KAKE
|
i don't want to start off this with an overly negative reply, but i have some things i'd like to say.
is there any need for this? i mean, why not just write the damn program in asm? true, it would be easier the way wilson suggests, but it seems to me to be a crutch; either a program should be written in pure assembly with the intention being to be a tight, well coded game, or a BASIC program. note i said program. BASIC is really not meant for games. true, some people (even i) have written a rather abundant supply of these masses of code (and i do mean masses), but BASIC is still really better at math than mario. there seem to be some good asm programmers out there writing some rather lame games (no offense please), so why not email them suggestions.
instead of writing BASIC games, write BASIC progs and send ideas to asm developers.
if you completely disagree with my opinion, say so and PLEASE say why.
thanks,
KAKE
|
Reply to this comment
|
24 January 1999, 10:30 GMT
|
|
|
|
|
|
|
|
Re: Re: and the size is . . .
|
tim
|
ok hot shot, which allows you to draw sprites, move images pixel by pixel, have entire maps lay out (like mario) have greyscale, even classic games like daedalus, that could never be possible in basic. The first guy knows what hes talkin about, if you cant program asm, then dont whine about it being too hard. BASIC BLOWS, if you can program, then it wont crash your calc, and it uses the z80 to the max, there is so much more you can do with asm, like ANYTHING you want to do to the calc. Combining asm and Basic sounds nifty, but there isnt really any point, cuz if you are a basic programmer, you would still have to know about asm, to be able to make use of the asm/basic conversion.
|
Reply to this comment
|
24 January 1999, 21:11 GMT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: What?
|
Asmo22
|
This is my method of doing greyscale pics in basic. Simplified, the program recalls pictures, and gives the appearance of greyscale. The way to do this is like so: Make a picture ,but include only the part of the greyscale pic you want to be black. Store this pic as something. Then go back to the graph and add the part that you want to be a dark grey. Notice ADD. Don't clear your picture. Save this picture as something else. Do the same for the light grey area. After you have done this, make a program like this:
Lbl A
ClrDraw
RclPic GREY1
RclPic GREY2
RclPic GREY3
Goto A
You will see the picture in greyscale, but it will most likely be very flickery. this is because the ClrDraw on the calcs is slow. It doesn't look half bad, and it looks awesome for TI-Basic. My friend and I spent a band trip doing PxlOn's by hand to make copies of the pokemon pictures from the gameboy game of the same name onto our 83's. Pikachu looked great.This should work for all the TI-Calcs. On the 89 (92+ also?), you can use the Cyclepic Command:
CyclePic("grey",3,.01,2500)
It is much cleaner because somehow, the ti can clear the graph faster than ClrDraw can.
Thanks for reading all the way through this. Hope it helps someone
|
Reply to this comment
|
2 September 1999, 02:05 GMT
|
|
|
|
|
|
|
|
|
|
|
ASM: Flexible or Flippant?
|
cZaR
(Web Page)
|
ïsava om'davïd.
That was a sentence in an artlang of my own device, saying "My name is David". Is that language flexible? Not really- my language is more steadfast than Spanish. But is it easy to learn? You bet.
Now, for the guy who happens to get bored during trig or precalc, would he want to spend months doing a game with stunning (well, as far as 8 greys can go) graphics and eighty levels? Or would he want a text-based game with plenty of depth, yet saving the stunning graphics for the imagination?
In my opinion, I'd rather have the imagery in my head- it's more real that way anyway- but still- have you seen games with graphics REALLY sum up in detail with those which are text-based? Given, these days more people know of Diablo than of Colossal Cave, but these are Z80 CPU's- the same that Colossal Cave made it big on.
Yeah BASIC is cumbersome. Yeah BASIC is inefficient. Yeah BASIC is time consuming. Yeah BASIC hogs the memory. But BASIC is as easy as talking to the dämñ machine!
Here's what I have to say:
1: If you don't think BASIC has a right to be big, shove it.
2: Graphics were meant for assembly. Text based or otherwise graphics impaired stuff was meant for BASIC. But it makes up for it in ease of learning, ease of writing and ease of navigation (unless you're using the hellbound TI-85 interface *waving hello*).
3: I write all my games for BASIC because I don't have the time to waste (yes, waste) on building a monster CLONE of a Nintendo game.
That wasn't meant as a flame. When I said waste, I mean- why squander your time building games for CALCULATORS when you could be spending it, say, compiling shareware in Visual C++? or Java compilations (I admit Java is a bit out-of-style these days), or even playing in a rock band? I admit, I have no life either. But jeez- BASIC is too basic. I may be contradicting myself here, but the demand for BASIC programs really is just as high as for ASM. First off- how many assembly games can you pack on a TI-85? Two? How many BASIC games? I wrote the most detailed BASIC RPG that I know of for my TI-85 (believe me, I've looked) and it takes up 9145 bytes- only about 20% of the memory. If you're an arcade enthusiast, you can fit twelve games on tehre! Now would you rather have a dozen little games to kill time with, or one big one that once you beat, is just taking up space?
Sorry if you think I'm rambling about nuttin- lemme know how aggravating this posting is to you all. :)
agerah mu s gy'eteï! (God be with you all!)
With honour,
cZaR
Oh, and I heard there was a BASIC programmers' alliance? What's the URL for it? Maybe they're lookin for an 82/85 BASIC programmer...
|
Reply to this comment
|
1 February 1999, 19:40 GMT
|
|
|
|
|
|
|
|
|
|
|
Re: Re: Re: and the size is . . .
|
Rudi.83g
|
Well, BASIC itself is flexible.
(There are GOSUB..RETURN, ON ERROR GOTO XY (asm programmers would like ON ERROR GOTO... it is much better than crashing the calc), a nearly unlimited number of variables.
But TI-BASIC sucks (at least on 83 and 85):
83:
- only one-char variables + Ans or slow lists
- no comments shorter than 200ms (or Goto is needed)
85:
- not even TI83's DelVar command, but multichar variables
- nearly no string manipulation
- no possibility to run asm programs
- no comments shorter than 200ms (or Goto is needed)
But on both you have got powerful list operations:
3->A:sum(seq(X^A/X!,X,1,69))/e
5
13->A:sum(seq(X^A/X!,X,1,69))/e
27644437
6->A:sum(seq(X^A/X!,X,1,69))/e
203
How do you calculate these integers (integer for integer A >= 1 and a high enough "69" (well, 69 should be enough...) in asm?
|
Reply to this comment
|
28 August 2000, 15:26 GMT
|
|
|
|
|
|
|
|
.you don''t have to be rude to get your point across.
|
KAKE
|
hello Shane Abernathy. this is KAKE.
1. both (though asm 1/2 of BASIC)
2. BASIC
3. BASIC (enough of the clear fake swear words)
4. ASM. try greyscale in BASIC
5. ASM. it's a helluva lot more interresting
6. BASIC
i would like to take some time to critique your overall style. first of all, it's usually a good idea to keep the discussion polite, especially when you post your email address (i do because i want some accountability for what i say). second, if you're going to swear, swear, just for god's sake don't use those #$!@ %&$*@!! it makes you look dumb. third. two spaces after the period. i may type lowercase, but that's one rule i follow. fourth. numbered lists like that should be done like
1.
2.
3.
and so on.
and now i've got a few questions for you.
what game did they pay for and how much and how many people? i'm serious, i want to know. i know i used to charge people to install a custom drugwars i wrote specifically for our area.
i love BASIC, don't get me wrong, and i'm a BASIC programmer too. it's just that there are uses for one and uses for the other. whenever someone asks me what kind of computer to get, i always ask what they'll be doing with it. same here.
thank you for your time.
-KAKE
(John Martens)
|
Reply to this comment
|
25 January 1999, 11:48 GMT
|
|
|
|
|
|
|
|
|
|
|
Re: sometimes you do.
|
Shane Abernathy
|
Well I'll first comment on your answers.
still looks like Basic showed up more. Interesting.
As for all the people saying that basic isnt flexible enough I'll give all you high up and up ASM programmers a challenge. I'll send you a program (just email me) and I want you to convert it to ASM. Heck, you can even take almost all the credit for it. Just say that the port to ASM was done by you and all.
To answer the guy who asked about sprites...
Yes sprites can be done witha matrix and x,y coordinate system. How? Like I'd tell you.
(It's very easy if you now what you're doing and have a hell of a lot of for next loops and if then statements. just use the matrixs for the sprite info and a seperate matrix for what goes where. That and a few Pic vars don't hurt for fixed backgrounds.)
Gray Scale is possible with an 86. I tried what
was stated below and it works for certain things. (Still graphics and movies mainly, not good for moving backgrounds and suck.)
Scrolling is possible in basic, but very slow though. Why do I know this? Because when I program ASM i want to get the logic right first. (No Emulator for poor old me. Everytime I use it it crashes my virtual PC on Linux, Oh well.)
Kake,
To answer your questions,
Game Name: maskaeria
Charge per person per version
free trial version. = free
version w/out ending = $10
full version = $15
currently:
27 free demos
14 w/out ending
25 full versions
Why? because it's a cool game. What it is, is a full length text RPG based on Seth Ables Lord. It has the gameplay in but the story line is comepletely different and all. It has it all and everyonw loves it. Now take those numbers and multiply by 10 because that's how many players can be kept at once, plus one sysop character.
If you want a copy I'll send one to you. Full version of coarse. I dropped the charges when I uploaded ot TI files.
Drugwars is cool. But I build all my games from the ground up. I even designed a fighting game in basic that WASN'T TEXT! (see above about sprites) and I built a Final Fantasy tactics fighting engine, thanks to J.K. BTW
Once more BASIC is cool. ASM is okay.
|
Reply to this comment
|
27 January 1999, 04:09 GMT
|
|
1 2 3 4 5 6 7 8 9 10 11
You can change the number of comments per page in Account Preferences.
|