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"
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


BASIC Grayscale is already possible
x1234567x

Basic can have a limited type of grayscale!

Reply to this comment    27 January 1999, 22:28 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: 1''s and 0''s
Eric Brookins

I have thought about the same thing, but the problem is if you rewrite the entire system, many functions might be missed, and I don't know if the original system will come back up if your calculator crashes.

Reply to this comment    31 January 1999, 17:56 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


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

hehe
if your refering to me (i seem to be putting this idea down a lot), then you're a bit out of line: not only have I made such asap programs, I discovered the asaps and also about 90% of what's currently known about them. The truth is--and I hope you'll believe me--it just isn't possible to make a good game based on asaps mimicking sprite routines. Believe me, I have considered such ideas long before this, and would have already made something like this if it were possible. Also, if you're interested in seeing what assembly tutorials I've written, check out the web page above. Jimmy Mardell has also written the Zshell school (he's the only other programmer I remember seeing put down this idea), so I'd wager you don't know what you're talking about when it comes to programmer psychology...

I'm sorry, but your rhetoric was so misguided I had to reply :-)

Reply to this comment    28 January 1999, 02:05 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: Gameboy
Haroon iqbal

I think that would be a great idea!! but the emulation would be limited because of the memory of the calculators and of course, the sound quality wouldn't be that good.

Reply to this comment    29 January 1999, 02:02 GMT


Re: Gameboy
Gen_Witt

Sorry but, NoChance in Hell.

Although possible it would be very slow and limited. Only roms that are 32k or maby 64k could be used, because there is so much memory within the GameBoy that you would need.

Also the GameBoy does NOT use a standard Z80 it's actually closer to a 8086 then a Z80. Emulation would be slow (about 20 to 30 times slower than the GB). Or some GOD could devise a Static Recompilation engine (you take the GB code and convert it to Z80 code) but that is a lot of work on something that would essintialy be a lost cause.

Not to mention the fact that the GB screen is taller than the ti-8x's. And that the amount of CPU power required to emulate the GB's PPU (picture prossesing unit) would destroy any speed you might have had.

Yes I know that the GB runs @ 1MhZ but I'm not going to let anyone tell me that a 6MhZ calculator can emulate it.

Maby some god could do it on the 89, but it wouldn't be playable.

-Gen_Witt

Reply to this comment    29 January 1999, 04:23 GMT


Re: Re: Gameboy
Cliff

Hey, y'all seem to be neglecting the TI-92.
The Gameboy is a 68000, isn't it? (Yes...:-)
This removes most of your objections (processor
differences, screen size)...memory size is still a problem, but hey...:-)

Reply to this comment    4 February 1999, 08:13 GMT

Re: BASIC Doesn't Have to Be That Basic
GleasSpty  Account Info
(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


Re: Re: Article: "BASIC Doesn''t Have to be That Basic"
A Moore  Account Info

First of all I don't own a TI though I am considering buying one. The HP49g+ looks tempting too.

I don't program in Asm and do program in Basic. I started with a Commodore 64 and HP11c when I was a kid. One thing all the calc-basics (to my knowledge, correct me if I'm wrong) lack are peek/poke. While compiled code will always be faster it would still be nice to have a ROM based basic that let one "dig deep" on the fly.

There have been many posts talking about "flexibility"
If flexibility means ease of use then Basic wins no matter the platform. If it means the power to manipulate the machine to the fullest extent Asm is it. The only way Basic can be that flexible is if its given lowlevel access. Sprites and graphics command don't do it.


Reply to this comment    25 December 2003, 20:29 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


Re: Need Some Advice
iri  Account Info
(Web Page)

use catalog

Reply to this comment    5 February 2000, 16:22 GMT


Re: Re: Need Some Advice
Daniel Bishop  Account Info

That won't work on the 82.

Reply to this comment    24 April 2000, 06:35 GMT


Re: Re: Re: Need Some Advice
hamster3.0  Account Info

Not on TI-83 plus, too

Reply to this comment    13 April 2005, 00:35 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