***************************************************************************
*******************************
FLIB v2.2
*******************************
by François LEIBER
http://leiber.free.fr/
***************************************************************************
This is a advanced library for BASIC-programmers, including many functions, basic ones as well as sophisticated ones, compatible with all ROM and hardware versions.
Release 2.2, 11-16-2000.
Copyright 2000 by François LEIBER.
This program can be freely distributed, on condition that you leave it unmodified and that you join this text with.
If ever you use it in one of your BASIC programs, thanks to mention me in you readme file, I would be pleased !
I WROTE THIS LIBRARY FOR ALL THE BASIC PROGRAMMERS, SO IF EVER YOU NEED A FUNCTION, NOTICE ME OR YOU'LL NEVER HAVE IT!
- Requirements
- How to use Flib
- History
- Known bugs
- Credits
- Info
Requirements:
- A 89 or a 92+ with any ROM or hardware.
- The programs flib() and flib2(), 12.2 Kb.
- A few bytes free to run it:)
You can place flib() in any folder and archive it as you want.
I've also prepared a 92+ version, and I've even ported all the examples!
How to use Flib:
You only have to type, in a basic program usually,
example: flib("clrscr","msg:Hello, World!", "slrcl")
If you use functions from the second library (flib2):
example: flib2("version","mkhs:10,500,fl,sc","hide:sc")
The list returned by flib is placed in the variable 'fl'.
Each command is a string, read Flib functions to know what different functions are now available.
History:
v2.2 - 16/11/00 - 6 045 + 6 469 octets
- New compression/decompression functions: 'komp', 'dekomp' and 'kinfo'.
- New text-manipulating functions: 'numline' and 'getline'.
- I've raised the size limit for 'fl' to 5 Kb.
- No more problems with archived variables.
- No more problems if 'fl' is declared as a local variable, and that you use functions such as 'getfile'.
- No more crashes with 1-high-score variables.
- No more crashes with 'wait:0'.
- Correction of a tiny-bug in 'menu'.
- Even more optimizations.
- New examples 'Memory' and 'FlKomp'.
- Include C source to make easily your own gray images for Flib.
v2.1 - 10/02/2000 - 6 359 + 4 263 bytes
- New functions to use (static) gray levels. I've compiled the project with the new release 2.2 of Zeljko Juric's libraries, so gray levels *shouldn't* flicker to much on HW2.
- New contrat functions : 'getcont' and 'setcont'.
- 'wait' doesn't depend any more on the calculator, il now uses constant timers.
- I've updated the examples.
v2.0 - 08/23/00 - 5 749 + 4 467 bytes
- I've finally separated Flib in two distinct libraries: one for the TIOS or more shell-like functions, and the other one for all the others.
Thanks to port your programs for this new version, you just have to add a '2' after 'flib' when you call functions of the second library (refer to Flib functions).
- Two new functions: 'map' and 'drawstrv'.
- 'mkpic' now works with all characters.
- I've translated the whole documentation in html.
v1.8 - 07/25/00 - 8 057 bytes
- Finally! Flib is now compatible with local variables, I needed a whole afternoon to get rid of this:(
- Functions 'hide', 'unhide' and 'state' now work also with folders.
- Function 'drawstr' can now automatically center a string on the screen.
- One new function: 'pixtest'.
- Attention for your program's compatibility: I've suppressed functions 'blink' and 'crypt', which was causing too many problems. I'll integrate a more sophisticated one in a next version.
- Fixed a bug in fillrect, who was very slow when the mode argument was omitted.
- Fixed another bug: when Flib returned a '0', the test 'fl[1] = 0' returned 'false'.
- Fixed a third little bug, who has maybe caused problems before.
v1.7 - 05/29/00 - 8 065 bytes
- Added fuctions 'folder' and the three to handle high-scores: the 8 Kb I could use are now full, flib v2 will be separated in two programs or won't be.
- I've re-read everything and re-written many little parts of the source for a maximal optimization.
- I've included a little program to use function mkpic, and also my program Othello, that I've finally adapted for Flib.
- 'crypt' function now works much better.
- If nobody writes to ask me to keep these functions, I'm going to remove 'wait', 'reset' and 'blink'.
v1.6 - 05/12/00 - 7 001 bytes
- Added functions 'crypt', 'wait', 'mkpic', 'width' and 'blink', there is now 46 functions in Flib!
- Important improvement: flib now truncates decimal numbers, so there is no more need to write 'exact(int())' everywhere.
- Correction of 'keylow' for the 92+.
- Little improvements to a few functions:
- 'msg' now refreshs automatically the screen when the user presses a key.
- 'getbyte' can now return more than one byte at a time.
- 'apd', 'initdelay' and 'delay' now return their previous values.
- I have converted the help file for Txtrider.
- I started programming a compression function, but it's gonna be hard to do it in less than 1 Kb...
v1.5 - 04/19/00 - 5 987 bytes
- Added functions 'menu', 'filltri', 'fillpoly' and 'reset': I know, this one isn't the most useful, but it's the funniest for sure:)
- Removed function 'idcode', I didn't know it was possible to have it with getConfg().
- Function 'breakoff' is know much more powerful, it's not canceled by functions like 'string()'.
- Arguments can now be bigger than 999, it was restricting for functions like 'getbyte' or 'setbyte'.
- When the return value does not exceed 9, flib doesn't return '09' as before, which could cause some strange things (159 - 16 = 65393 for example...)
- Function 'error' know dislays the error message corresponding, but it doesn't stop the program, it was quite useless before.
- Most graphical functions now have default arguments, much nicer to use.
- Functions like 'sprite' can't crash anymore, even if the arguments are not numbers.
v1.4b - 04/11/00 - 5 147 bytes
- It's stupid, I should have included this in the previous version, but I was tired yesterday evening...: now the list returned by flib has all it's elements in the right order, it's specially appreciable for functions like 'getfile'.
v1.4 - 04/10/00 - 5 107 bytes
- Several people noticed me that it was impossible to use the list returned by flib when ROM 2.xx was installed, so now flib returns this list in the variable 'fl'. I think it's not as aesthetic as before, but I was surprised the program didn't take much additionnal memory.
v1.3 - 04/08/00 - 5 029 bytes
- Added functions 'getbyte', 'setbyte', 'savpic', 'picsize' and 'idcode'.
- The argument's size was limited to 255, so in particular you couldn't restore the apd to it's initial value, this is now corrected.
v1.2 - 04/04/00 - 4 303 bytes
- Added functions 'getfile', 'getfolder', 'size', 'state' and 'version'.
- Flib now returns a list, and doesn't need to go through a external symbol (ex-fl), which simplifies a lot the syntax (thanks to the new libraries of Zeljko Juric).
- Functions 'sprite' and 'rclscr' now test if their argument is a picture, it could cause the calc to crash.
- The other graphic functions are now also protected against wrong arguments, flib should never throw an error now.
v1.1 - 03/21/00 - 3 667 bytes
- Added functions 'apd', 'error', 'sprite', 'savscr', 'rclscr', 'slclr', and the four key functions.
- Fixed 'breakoff' and 'drawstr' (you couldn't display a string beginning with a number).
- Added a few protections (for the arguments number, test to see if 'fl' is archived or no...)
- Two little examples ('flpass' and 'flowkey') are included, as well as a program to create a custom menu to simplify the use of flib.
- 92+ version included, I ported even the examples!
- English translation (I think this was the most tiring part...)
v1.0 - 03/12/00 - 2 153 bytes
- First release, most common functions that don't need to return a value are included (17 of them).
Known bugs:
I don't think there is any real bug, but:
- Don't launch Flib from a Try...EndTry structure, you won't be able to use Flib in the rest of the programm (it's a mystery to me...)
Credits:
- First, some credits go to Alban Gervaise, the first programmer of Basilib, even though he has disappeared since...
- A huge thank to Zeljko Juric for all his libraries and his very complete documentation of the different TIOS functions, without this flib wouldn't have been possible at all.
- Of course, thanks to Xavier Vassor and to all those who participated in programming Ti-gcc.
- Rusty Wagner for Virtual Ti.
- All the peoples who sent me their opinions, which made this library progress.
Info:
I know my translation of this text is far from good, but I've already made quite an effort to do it, so be comprehensive, I'm French :-)
For any suggestion, commentary or bug (that would be quite surprising;-) ), you can e-mail me at:
francois.leiber@libertysurf.fr
All the ideas are welcome!
All my program updates are first on my (french) webpage:
http://leiber.free.fr
Now that I've begun C programming, I think I'm going to make many other programs, but unfortunately I lack time (studies are becoming quite invasive).
Anyway, I encourage warmly all those who would like to start C programming but who hesitate, and that's why my source code is given in this package. But I repeat, don't change three characters and then replace my name by yours to distribute this program with another name, as it is arriving much to often, unfortunately.
Back to the top of the page