A86: Library Shell
[Prev][Next][Index][Thread]
A86: Library Shell
I posted this awhile ago, and now yet another library support has been
released ("Library Shell" by Patrick Wong and Scott Shannon). I am repasting
the original email to yet again emphasize the disadvantages of libraries. My
original post follows.
-----
Some of you may have noticed the recent release of Patrick Wong's Library
Support for the 86. I would like to take this opportunity to strongly
discourage you all from using them. There are a number of important reasons
for this.
Firstly, it should be pointed out that we have no need for libraries on a 98k
RAM calc, especially since many of these routines just reimplement what's
already in TI's library system. We will end up losing memory from big
libraries in which only a single routine is used, and the programs will
become slower anyway. And remember, if the way the libraries are invoked (or
even the implementation of the particular routine) is bad, then the program
performance could be severly affected.
If somebody wanted to implement libraries, it would be much more appropriate
in a shell of some sort (ideally with other asm improvements such as >8kb and
such). But when you think about it, the built-in asm support is really just
fine.
Another point to bring up is that although most games have a routine in them
named "putsprite", these routines vary in a lot of ways. Some are grayscale,
others not; some are 8x8, others 16x16, others variable width and/or variable
height; some set the on bits and clear the off bits, some xor, some or, and
some use a mask. So, a _full_ graphics library would need to have 2x5x4=40
different putsprite routines!!! Obviously this implementation will eat up
far more memory than it will save.
In addition, people who use library routines often don't learn how to write
those routines themselves. The most likely thing that would go in a library
is putsprite, and that's probably the most important routine to write on your
own, for learning purposes and simply for effecient code. This is the same
problem we have now with all the putsprite routines floating around, and
libraries would make it much worse.
Lastly, I am not the only one who shares this view. Other experienced TI-86
programmers such as Kirk Meyer, David Phillips, Aaron Curtis, and Clem
Vasseur can attest to the truth of what I've just pointed out. In fact, here
is what two of the greatest TI-86 programmers ever have to say about the
matter:
Matthew Shepcar: "having a set of libraries that does all the useful stuff a
game needs is a nice idea but games are so simple on the 86 there's no point"
Jimmy Mardell: "i'm against all kind of libraries atm. just looked at the
TI-89. it really sux - there are different version of 1) hardware 2) OS
version 3) shell version 4) library versions - almost impossible to get
anything to work unless you've been into the scene for some time"
Libraries are just a bad idea. Don't use them.
----
Jonah Cohen
<ComAsYuAre@aol.com>
http://members.xoom.com/JonahCohen/
Follow-Ups: