Hey everybody, I believe this is my next big assembly project while I take a break from Grammer. If anybody has been following the ScopeOS project, you will have already heard about this and even seen a few screenies.
What does it do?
FileSyst provides some core routines for handling a filesystem on the TI-83+/84+/SE calculators and in the plans are a full folder system support, along with navigation, naming of the variables, icons, and a slew of other abilities. Currently, progress is in the planning stage. A few days ago I made a program version, but I have since turned it into an APP. I basically took BatLib, hollowed it out except for about 50 BatLib commands, then I inserted what I had done with the program version et voila. A expanded on the routines a bit and currently it can do the following:
-Run the app and select the program to run (this is only for the developers version)
-The program will be executed using the FileSyst parser hook (hooks are restored when the program finishes)
-The dim() token is used to execute the included BatLib routines or the FileSyst routines.
-FileSyst takes arguments as a string. For example, "BASIC(Zeda:Doc Prog)" .
-FileSyst can open folders and files and automatically creates folder/files if you try to access them and they don't exist.
-There are currently 4 commands:
- BASIC() will open a file and try to execute it as a BASIC program
- CD() will change the default directory.
- GETD() will return a string with a list of names, info, and sizes of the files in the directory.
- VPTR() will make a shortcut to an OS variable (the var doesn't actually need to exist)
An example of code might be:
dim("CD(Zeda:Doc) VPTR(prgmTEST, Test) BASIC( Test)
That changes the default directory to Zeda:Doc, then it creates an OS var shortcut to prgmTEST named Test, then it tries to execute the file at "Zeda:Doc Test" as a BASIC program.
Here is a really cool use for this program and this is one reason for why I hope this project really takes off soon:
Say you were making an RPG and you wanted to use a folder to store or retrieve monster data, player data, or anything else like that. You could use this program to make a directory in the main folder (named after your game or something), then in that folder you could put all of the other data you need. Then, to retrieve the data, you can use the FileSyst program to access the data through paths. Since the app has a bunch of graphics and data manipulating commands, I can make commands like SPRITE() so that you can make a script for certain parts of your program.
Here is a screenie:
47%? Take a look and try to imagine how cool 100% will be. This has won zContest 2011 and made news on TICalc. This compromise between Assembly and BASIC parses like BASIC and is fast like assembly. Grammer 2