ticalc.org
Basics Archives Community Services Programming
Hardware Help About Search Your Account
   Home :: Community :: Articles :: BASIC Doesn't Have to Be That Basic
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.

  1. 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!

  2. 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!!!

  3. 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"
Max

I can't really get your point... Are you saying that we ought to mix ASM and Basic?... Why?Basic is really cool for making math and science progs, i think ASM is just for games. I don't need sprites in math programs. I think that such a mixed program (ASM/Basic) would be incredibly annoying to run, when running ASM parts it will be very fast and very slow when running Basic parts.

Reply to this comment    24 January 1999, 10:37 GMT

Re: Re: Article: "BASIC Doesn''t Have to be That Basic"
Shane Abernathy

Okay, look I am tired of waiting for Ticalc to update with my game so all of you people saying that BASIC sucks and is slow and all I have one word for you. Maskaeria. Maskaeria is a full length text based RPG set in a fantasy setting.
It has become very addictive where I live and everyone likes playing it. Text based RPGS suck you say? well then goto bbs.purenrg.com and then say so after signing up there. Another good basic Game is the KCHS Punisher. It's a text based fighting game for the 85. And it became addictive too. Wow two games that are addictive made in Basic. Hmmm. I can't think of a single asm game that has actually stayed on my calc longer than five days. I downloaded Zelda and it's a good demo. Very easy to beat, but a good demo. It stayed on my calc for 20 minutes and then I wiped it off for lack of replay value. Frogger is a classic ASM game, but after level 16 or so it gets repetitive, so it lost replay as well. As a matter of fact the only ASM games that I have on my calc at any given time are Mario and Joltima. Joltima is a long drawn out game that is very good and has some replay value due to a non restricting story line. The only reason Mario is cool (No offense to Bill Nagel I know it seems like Im dissin him but Im not) is because of the level editor. I simply create levels and let people play them.

Now for all you ASM gods out there. State one thing other than Grayscale that BASIC can't do. I don't mean better but I mean can't do.

back to my game....

I programmed this in 86 basic and the only drawback is that it is big! About 68k so it has a little difficulty. Now if I had a ungrouper I could convert this to ASM using the basic - ASm converter. But no one can find one. And what would it prove? Probably nothing but who knows!!

but then again I'm just a BASIC programmer.

Reply to this comment    24 January 1999, 17:58 GMT

Re: Re: Re: Article: "BASIC Doesn''t Have to be That Basic"
Jimmy Mårdell
(Web Page)

Can't do? Sidescrollers, games with many moving objects, sound (ok this one is very unimportant, but you definately can't do it in basic) etc. In theory you could do a sidescroller, but it would be 1000+ times slower, and I define that as something you "can't do".

Hey, you're starting to sound like Chris Kline (if anyone remembers him - Nukeware)

Reply to this comment    25 January 1999, 00:06 GMT

Re: Re: Re: Re: Article: "BASIC Doesn''t Have to be That Basic"
Josh Cunningham

I agree that there are many things that 'can't' be done, reasonably, with basic. Jimmy, you named a few. But all those are speed dependent. With the addition of small assembly programs that the basic program calls, all those are feasible, i.e.; sidescrollers, many moving objects, sound, and even grayscale. The main problem is speed. This is why assembly is mainstream for games. But the software industry is moving away from this. Yes by programming in assembly they could get their game to work on a 166 instead of a 266, but coding in assembly is a much more tedious task then in a higher level language. Plus with the addition of advanced libraries, and special assembly algorithms, it is much easier, and faster (to produce). Don't discourage basic programmers, and assembly programmers from basic. No it isn't perfect, but it what anyone can program in, and by helping basic programmers, all you do is help get better, more, and faster games out for you.

Reply to this comment    25 January 1999, 16:17 GMT

Re: Article: "BASIC Doesn''t Have to be That Basic"
Jimmy Mårdell
(Web Page)

I'm not trying to discourage BASIC programmers; I'm trying to point out the (imho) fact that BASIC and asm programming aims at two completely different types of programs/games. I don't think small asm routines will make basic programs rival asm programs - it's simply not enough. Sure, you can put a sprite fast. But all the algorithms to move the sprite, calculate enemy movements etc etc will time - _much_ time in BASIC.

However, some things could made using asm routines, like grayscale pictures used in a mixed text-graphic adventure game etc - now that would be cool!

Reply to this comment    25 January 1999, 22:13 GMT


Re: Re: Article: "BASIC Doesn''t Have to be That Basic"
Josh Cunningham

No, an interpreted language won't be able to compete with the raw speed of assembly. But with the advent of a basic compiler, a whole new world comes into perspective. Now, I agree that assembly is the 'best' way to make truly fast games. But their is a huge lack of 'good' assembly programmers. On the other hand, their is an untapped fortune of good basic programmers. Now I am not saying that compiled basic programs will be able to threaten, lets say your SQRZ. But what compiled basic games, with special assembly algorithms, and libraries, will be able to do is allow _anyone_ to make good games. That are
fast, fun, and be produced, much faster than any assembly game every could. Not only will this enable Basic programmers to make much better games. But also allow a whole new wealth of math programs.
Even with these advancements, can basic truly rival assembly? Hmm that’s a question is beginning to be not so far fetched.

Reply to this comment    28 January 1999, 20:12 GMT


Re: Re: Re: Article: "BASIC Doesn''t Have to be That Basic"
Adam Wilson  Account Info

I agree. In my opinion, BASIC has better games. Why? Hypothetical situation here. When are you going to be more creative, when you're in constant fear of crashing your calculator while on your computer late into the night; or after a test, well rested, with a few minutes before next period? My point exactly.

Reply to this comment    9 October 2001, 03:50 GMT


Re: Re: Re: Re: Re: Article: "BASIC Doesn''t Have to be That Basic"
David Phillips
(Web Page)

You couldn't do a side scroller in basic! It's not possible! You can't check for multiple keypresses, store tilemaps, scroll the screen, etc! Sure, I suppose that you could write assembly functions for all of that, but what would you be writting in basic? The game logic? No, that couldn't be done fast enough. Hmm, I can't think of a single part of a side scroller that can be done slow enough that it could be done in basic. The entire engine would have to be done in asm!

Basic is good for math, because that's what it was designed to do. Basic is a math scripting language, that's all it is! Usually you can't get much speed improvements doing pure FP (floating point) math in asm, because the FP calls still take the same amount of time, but anything else can be done thousands of times faster in asm than in basic!

Reply to this comment    25 January 1999, 22:46 GMT

Re: Re: Re: Re: Re: Re: Article: "BASIC Doesn''t Have to be That Basic"
Eugene

But I thought the ORIGINAL BASIC language was designed as a tool to teach programming (but not to little kids, like LOGO was supposed to do).

Reply to this comment    26 January 1999, 05:15 GMT


It can sorta be done...
Piloter

I wrote a "spacewar" ish game for the -85 in BASIC once, a long long time ago... graphics consisting of cleverly - arranged outpt() lines. (!)
Then again, how about -85 DooM? I rewrote that to have variable weapon damage, health kits, keys, and an exit, not to mention a graphical realtime (Well, sort of.) editor (move cursor to a point on the map generated from the matrix, select what you wanted there) ..entire thing, pics, program, matrix, editor, left under 1000 bytes free. Unfortunately, this was lost when I axed my link85 directory by mistake. (DOH!) It can be done, decently, in basic.

Reply to this comment    29 January 1999, 18:43 GMT


Re: Re: Re: Re: Article: "BASIC Doesn''t Have to be That Basic"
Matt

Actually Jimmy sound is possible in BASIC. I would not have believed it if I had not heard it myself. My friend showed me a game on his Ti-85 called Be Violent 2 that had sound and was a reasonably BASIC game.

Reply to this comment    26 January 1999, 04:44 GMT


Re: Re: Re: Article: "BASIC Doesn''t Have to be That Basic"
Nate dogg
(Web Page)

im sorry but kphs kinda umm lets see ... SUCKS!
No offense to the author.

Reply to this comment    28 January 1999, 03:36 GMT

Re: Re: Article: "BASIC Doesn't Have to be That Basic"
EJA

I think it would be great if they made a Basic with the power of ASM. People would be able to have better (Basic programs are USUALLY good) programs with less complex code (and if they wanted, user end modification). I myself program Basic and want to learn ASM (maybe I can next week), but I have too little time, so I stick to Basic (on the calc) and BASIC (on the Apple //C [YES, I USE AN APPLE // still], Commodore 64 [DITTO], Tandy 1000 [You get the point.], PCs, and occasionaly, the TRS-80).

Reply to this comment    28 January 2000, 22:09 GMT


Re: Re: Article: "BASIC Doesn''t Have to be That Basic"
MoMoRyan Account Info
(Web Page)

I agree with you. They should keep the two lang. seperate.
ASM--games
BASIC--prog.

Reply to this comment    5 February 2004, 02:23 GMT

Re: Article: "BASIC Doesn''t Have to be That Basic"
Ken Ritzert

Basic and ASM in one program not a good idea!
(lets leave it at that)
also ti-83 basic is almost as powerful as 86 basic so dont put it down unless youve tried it

Reply to this comment    24 January 1999, 15:31 GMT

Re: Article: "BASIC Doesn''t Have to be That Basic"
Mike

What are you all talking about? For people like me, who can't understand the difference between word.l and word.b execept the l and b would love a BASIC/asm program. I would like to be able to program with a highlevel language and also have the extra features of asm.

-Mike

Reply to this comment    24 January 1999, 17:09 GMT


Re: Re: Article: "BASIC Doesn''t Have to be That Basic"
Miles Raymond
(Web Page)

I take it that you are a M68k (89/92/92+) programmer because of the move.l and move.b commands. I'd like to let you know that it is possible to program in C++ for your calc (with limitations of course). This was discussed a while ago on the A89 list and you can probably look it up in the mailing list archives.

-Miles Raymond

Reply to this comment    24 January 1999, 23:24 GMT

Re: Article: "Ti-89 slower than Ti 92"
Michaïe Joffey

I think that your calculator has a little problem, bacause my Ti-86 does that in less than 4 seconds.So i think you should change your calculator by a 86 or exchange that with mine.
(Sorry for bad English)

Reply to this comment    24 January 1999, 17:43 GMT


Re: Re: Article: "Ti-89 slower than Ti 92"
bob

89, 92+ and 92? all solve eqs symbolically, 82,3,5,6 all do it numerically, numerically is much simpler ( and somewhat useless)

Reply to this comment    25 January 1999, 23:05 GMT


Re: Re: Re: Article: "Ti-89 slower than Ti 92"
Michaïe Joffrey

So what you says means that, because of its speed, the Ti86 is better than the three others calculators.I'm searching for someone who could send me some files to learn Z80 assembly (in french if possible).Do you know someone???
(VIVE LA FRANCE)

Reply to this comment    25 January 1999, 23:30 GMT

Re: Article: "BASIC Doesn''t Have to be That Basic"
Chris F.
(Web Page)

I think the integration of ASM and BASIC is a good idea. Small applets that allow more functionality in BASIC programs are great.

The more functionality BASIC has, the more people program in BASIC (duh!). People are trying to get out of the BASIC language and step up to ASM, which is great. Will people really support this motion? I mean, other than BASIC programmers. You need ASM programmers to support this so that you can get the applets, etc. in the first place.

I myself would enjoy this but I'm trying to learn ASM because I can't see devoting much more time into integrating ASM into BASIC. Why don't I just learn ASM?

Don't get me wrong, I support this idea; but will ASM programmers? We've got to look at the solid facts here.

Reply to this comment    24 January 1999, 18:51 GMT

1  2  3  4  5  6  7  8  9  10  11  

You can change the number of comments per page in Account Preferences.

  Copyright © 1996-2012, the ticalc.org project. All rights reserved. | Contact Us | Disclaimer