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: