I have started coding in a Linux OS for the TI-83/84/SE series using BatLib. The system is very easy to use and installing new programs is very simple. I already have the following commands working:
whoami
cat
ls
login (logs you into a root terminal)
passwd
exit
pwd
And I plan on adding a whole bunch more. The program runs TI-BASIC Hybrid underneath, but in a way that makes the addition if commands very easy. Just store them as AppVars with the correct header. It's very cool, and as soon as I get the chance, I'll post a screenshot!
Please post download links?
And your writing linux in basic? XD
okay well hybrid is something I rarely used, but this could be cool. Contact me and tell me more about it!
Dapianokid wrote:
Contact me and tell me more about it!


But feel free to share your progress and challenges here! We'd like to be updated on this project. Do you have any larger ambitions for this project? Is it an actual port of Linux or is it more of a replica?
There's a RedHat port-replica-thingy for TI-89 using hybrid BASIC via Flib. Perhaps that can be used as an example for the 83+ version.
I will post download links sometime, as soon as it becomes worthwhile, and once I code in a good virtual filesystem reading routine. Right now, cat has a pretty good one, but I'll need to move it into its own routine so that I can use it from other programs. My largest ambition for the project is to get it running Linux so well that nobody can tell it isn't the OS on the calculator itself. And it's not a true port of Linux, in that it doesn't really have a kernel, or any of the fancy low-level stuff, but it will hopefully be a good enough replica so that it doesn't matter. Its best feature in my opinion is that it makes it very easy to integrate community created programs into it. You just create a TI-BASIC AppVar in which the name starts with the token ".". Then, you can just type the name of the command, minus the period, and the OS takes it from there, along with being able to send arguments to the program as Ans. One of the original problems I originally had was the calc crashing when trying to run BatLib commands out of AppVars, but I've successfully circumvented that particular problem. The filesystem hierarchy is going to be different, and there's not really a / directory, with etc, home etcetera (yet), but there is a shadow file, that is hashed, that does control if you can login to root. ^_^ Creating a working folder hierarchy is going to be REALLY difficult, but I have some ideas, so I'm sure I'll get it to work eventually.


EDIT:Just got sudo working Smile
Sorry for the double post, I thought I might as well make another one since this one's a screenie. Here you go, hope this works, it's not showing up in preview:
[img]http://ubuntuone.com/07iNLmnozfocg8uB6Pu200[/img]

EDIT: For some reason, it's not showing up. Just go to the link, and it shows up at least on my firefox.
yup, it works for me. Here it is hosted on rfg:

Thanks! Very Happy It's working on tibasicdev but not here. So what do you think? Sorry for it moving so fast, it's kind of a long screenie and I didn't want to make it go really slow.
I think its great, unfortunately i dont have a ti calc to try it out with.

What is hybrid basic? Could a language similar to it be made for casio calcs?
My only suggestion would be to use the small graphscreen font, since you can barely fit anything on the homescreen. It looks good so far. Smile
Hybrid BASIC is simply the TI-BASIC language with a library installed, in my case, BatLib.

And souvik, I agree that the graphscreen would look better, but it would be so very difficult to do, since I'd have to make custom input and output routines which would be a huge pain. :/
Roguebantha wrote:
Hybrid BASIC is simply the TI-BASIC language with a library installed, in my case, BatLib.

And souvik, I agree that the graphscreen would look better, but it would be so very difficult to do, since I'd have to make custom input and output routines which would be a huge pain. :/


What does the library do? Does it give BASIC functionality it otherwise would not have, like file creation/deletion?
Here is a list of its commands.
Roguebantha wrote:
I have started coding in a Linux OS for the TI-83/84/SE series using BatLib.[...]
I hate to be pedantic (well, I probably actually don't hate it Wink ), but people expect that the Linux kernel be underneath something calling itself Linux. A command line is awesome, especially if you're emulating the standard binutils commands, but calling it Linux is misleading.
so are these libraries written in basic or assembly?
flyingfisch wrote:
so are these libraries written in basic or assembly?
In assembly. BatLib is a relatively new contender; the canonical libraries are xLIB, Celtic III, and Omnicalc (and another new one from me, DCSB Libs):
http://dcs.cemetech.net/index.php?title=Third-Party_BASIC_Libraries
So how are they used? Does the default basic interpretor run these programs? Are they like PRGM2?
THey are hooks : when a certain command is seen by the original interpeter, the Lib takes place to launch its commands, thenlet the interpreter continue.
Eiyeron wrote:
THey are hooks : when a certain command is seen by the original interpeter, the Lib takes place to launch its commands, thenlet the interpreter continue.
Or more specifically, they use a feature of the TI-OS called the parserhook, which allows ASM code to intercept certain BASIC tokens and change the way they work.
KermMartian wrote:
Eiyeron wrote:
THey are hooks : when a certain command is seen by the original interpeter, the Lib takes place to launch its commands, thenlet the interpreter continue.
Or more specifically, they use a feature of the TI-OS called the parserhook, which allows ASM code to intercept certain BASIC tokens and change the way they work.


ah, ok. so its not the same as prgm2 intercepting the basic variables?
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 3
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement