BASIC Shells
|
Posted on 1 July 1998
The following text was written by Kirk
Meyer: I wish to comment on an out-of-control aspect of
calculator programming: BASIC shells. On the TI-80 and TI-81, there is no
assembly language available and thus no one has written any BASIC shells. On the
TI-82, TI-85, and TI-92 assembly language is only available in an assembly
shell, thus a BASIC shell is not possible. On the TI-83 and TI-86, however,
assembly support is built in and thus BASIC shells are rampant. If something is
not done about this, BASIC shells will also abound for the TI-89 and TI-92 Plus.
What do I find wrong with BASIC shells? Plenty. To begin, I will give
you some background on how a BASIC shell works. On the TI-83, TI-86, TI-89, and
TI-92 Plus, Texas Instruments built assembly language support into the
calculators. This made assembly shells a convenience rather than a necessity.
Along with this support came the advent of BASIC shells. Now that assembly
language programs could be called from BASIC programs, BASIC programmers were
eager to write their own shells. There was one problem with these shells, though
- they could not determine what programs currently resided on the user's
calculator. The programmers were still determined, though. If they
could not figure out which programs were on a user's calculator, then they would
have to supply them, bringing about a nasty problem. The programs which a
certain BASIC shell could run were set in stone. They could not be changed
without the user editing the shell. Since they were set in stone, it made sense
to give the user a bundle of programs with the shell. This is where the problem
lies. When BASIC shell programmers redistribute other people's programs, they
violate the wishes of other programmers. In readme files programmers write,
"Please redistribute this file only in its current, unmodified form." Well, what
do you think they mean? These BASIC shell programmers redistribute a
load of programs in a group file, and they do not give the users the intended
documentation either. The BASIC shell programmers do not stop to realize that
not only will the user be confused about the operation of the bundled programs,
but that they are violating the wishes of other programmers. When
programs are distributed in modified form: - users are confused
about their operation
- programmers become slightly ticked off
- users do
not have access to program updates
As an example I will cite
KickAsm 86 (it is definitely not the only example). This BASIC shell
redistributes many different games, math, and chemistry program as well as my
own Secure86 security program. The programmer did not include any
documentation for any of the programs. I cannot imagine how someone could
operate everything there without some sort of documentation. Not only that, but
I found updated versions for almost every included program. The version of
Secure86 he included was version 1.0.0; the newest version is 3.0.0.
I do not mean to say that BASIC shells are entirely bad, I just mean to
say that they need to be held in control. Included programs should be
distributed in unmodified form. This means if there was documentation, include
it. I hope that I have not offended anyone with this article. This is just
something that has been bugging me for a while now.
|
|
Reply to this item
|
Re: BASIC Shells
|
Steven Kelbley
(Web Page)
|
I agree that many times BASIC shells are altered and then redistributed under a different name. I am presently working on a BASIC shell, but as of yet I haven't seen a shell which can detect programs running on your calculator. I think BASIC shells would become more mainstream if they were made to recognize programs, using an ASM file if necessary, and be of a higher quality. I have yet to see an excellent BASIC shell.
|
Reply to this comment
|
14 December 2005, 22:47 GMT
|
|
Re: Article: "BASIC Shells"
|
Anonymous
|
Although I agree that BASIC shells have their faults, I think that they also have advantages. They don't freeze as often as Assembly shells.
They are often smaller than the king-sized shells
like ASE. Plus, they are usually made for easy access to games. Plus, if you download a group of games for people with ticalcs who don't know all of the nuances of the Calculator, the BASIC shells are helpful to them so that they can use their games. I think that instead of totally trashing BASIC shells, you should come up with some ideas (perhaps Assembly utilities for detecting games) to improve BASIC shells. ASE rules, but it crashes often, so try out a BASIC shell today!!
more easily.
|
Reply to this comment
|
7 October 1998, 17:35 GMT
|
|
Re: Article: "BASIC Shells"
|
Dennis Lambe Jr.
(Web Page)
|
I agree with your sentements, but I don't think you have to worry about the same problems on the 89/92. Thanks to the loophole that allows the expr() function to execute instructions and programs stored in strings, CUSTOMIZABLE shells are possible. Therefore, you need not fear the same situations on the late-model calculators.
|
Reply to this comment
|
16 November 1998, 02:43 GMT
|
|
Re: BASIC Shells
|
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:12 GMT
|
|
Re: Article: "BASIC Shells"
|
Michael Cook
(Web Page)
|
I agree with this article. If you want a basic shell the 83 has one built in. How to access it is a secret which may be why it is the best basic style shell on the 83. To access when your calculator is off press "ON" then "PROG" and there it is! Assembly shells have many great features and basic shells can't compare. There bigger, lack features, and if you wanted you can program your own. So why post them?
|
Reply to this comment
|
8 August 1998, 16:11 GMT
|
|
Re: Article: "BASIC Shells"
|
Patrick Behm
|
Okay, I'll come and say it. Yes BASIC shell stink and they are slow. But if you are like me and don't feel like trying to figure out how to program in ASM then BASIC shells are just fine. I personally only own a 85. But with I have tried to create a user freindly GUI. But it isn't with out bugs. I have checked and rechecked all ASM shells. Like ZShell and Usgard. Their are a few bad ones which I won't mention. But these two shells have the power behind them to make a standard shell on the 85. The 85 lacks the ASM features that the 83 and 86 have :(. But still these shells are making and effort.
Thanks
|
Reply to this comment
|
22 December 1998, 20:54 GMT
|
|
Re: Article: "BASIC Shells"
|
Jonah Cohen
|
I wholeheartedly agree with Kirk Meyer on this one. The TI-83 and TI-86 have excellent assembly shells which can run any new program on your calculator. There is no need for people to submit BASIC shells which are useful to only one person--the one who submitted it. Nobody else wants to use those exact programs. If someone wants to write a BASIC shell, they should go ahead and use it themselves, but, truly, nobody else will use it.
|
Reply to this comment
|
11 August 1998, 00:33 GMT
|
|
|