This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's Your Projects subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.

This forum is locked: you cannot post, reply to, or edit topics. Project Ideas/Start New Projects => Your Projects
Author Message
Xeda112358


Active Member


Joined: 19 May 2009
Posts: 520

Posted: 06 Feb 2011 12:46:19 pm    Post subject:

Okay, so I have made a neat little program in BASIC (that uses two assembly programs) that is a shell. Currently, it lets you search through your variables, view them, copy them to a string, and even run them as BASIC programs-- even from archive!

So what do I plan to add? I want to make it like an assembly shell-- except in BASIC! I am going to start working on making subprograms that are stored as appvars and if your BASIC program has the right header, it can make use of them! Since they will be in archive unless you need them, (which then they are copied to RAM), your BASIC programs might be much smaller!

Anyway, here is what I currently have:
Back to top
mrmprog


Newbie


Joined: 04 Feb 2011
Posts: 44

Posted: 06 Feb 2011 02:41:46 pm    Post subject:

Well what do you know. That is what I was planing on doing with those programs. Would you mind if I looked at the code to get an idea of how?

Last edited by Guest on 06 Feb 2011 03:17:33 pm; edited 1 time in total
Back to top
Xeda112358


Active Member


Joined: 19 May 2009
Posts: 520

Posted: 06 Feb 2011 03:26:41 pm    Post subject:

That is not a problem! Feel free ^-^
Also, I don't like double posting... but I will over in your request because it has been a while...
I have ideas >_>

Also, I am working right now and I have it able to execute assembly programs. I am about to add support for a header that tells which subprograms to load, too ^-^

I kind of figured you were going to use CopyProg and GetName together, I just wasn't sure how.
Back to top
mrmprog


Newbie


Joined: 04 Feb 2011
Posts: 44

Posted: 06 Feb 2011 04:21:30 pm    Post subject:

So you would be able to execute programs with sub program in them?
Back to top
Xeda112358


Active Member


Joined: 19 May 2009
Posts: 520

Posted: 06 Feb 2011 04:37:52 pm    Post subject:

Um, what it does is it looks at the BASIC program. If the first line is "If 0:Then" it reads the next line. If the next line is ":00" it will create a temp program called SUB00. It keeps reading until it reaches a line with "End" and then it runs the program. All of the sub programs will be stored as archived appvars so that they don't clutter up the program menu and so that they don't use up too much RAM.
Back to top
mrmprog


Newbie


Joined: 04 Feb 2011
Posts: 44

Posted: 06 Feb 2011 08:51:55 pm    Post subject:

So if statements are treated as subprograms? I am probably misunderstanding this.
Back to top
Xeda112358


Active Member


Joined: 19 May 2009
Posts: 520

Posted: 06 Feb 2011 09:36:23 pm    Post subject:

No, that is just the header. The header looks like this:

Code:

:If 0:Then           ;never gets executed because 0 is always false
:00                  ;Tells the shell to create prgmSUB00
:01                  ;Tells the shell to create prgmSUB01
:0A                  ;Tells the shell to create prgmSUB0A
:End                 ;Tells the shell it is finished


So the BASIC parser never reads between the If 0:Then...End, but the shell does.

Also, as a status update, the name of this project is now going to be called LSDOS... A spin off of MirageOS... (It was rather interesting how that name was created). Also, I currently have it so that Quick View lets you scroll through the program code (you cannot edit it) and I am about to add a thing that tells the size of the var and whether or not it is archived...
Back to top
NETWizz
Byte by bit


Bandwidth Hog


Joined: 20 May 2003
Posts: 2369

Posted: 07 Feb 2011 12:17:23 pm    Post subject:

Is it based on your own Asm, or something like Z-DOS? I once wrote Nimbus around Z-DOS in the beta days.
Back to top
Xeda112358


Active Member


Joined: 19 May 2009
Posts: 520

Posted: 08 Feb 2011 12:55:47 am    Post subject:

It uses my own assembly opcodes (and I am sure I will add more), but it is mostly BASIC. The assembly programs are just used to perform tasks like reading the variables.
Back to top
Galandros


Active Member


Joined: 29 Aug 2008
Posts: 565

Posted: 08 Feb 2011 04:08:00 am    Post subject:

To reduce your TI-BASIC header by some bytes instead of: If 0:Then use While 0, 2 less bytes.
Another thing is, could you join
:00 ;Tells the shell to create prgmSUB00
:01 ;Tells the shell to create prgmSUB01
:0A
into just one line like 00010A? It looses readability, though.


Last edited by Guest on 08 Feb 2011 04:08:20 am; edited 1 time in total
Back to top
Xeda112358


Active Member


Joined: 19 May 2009
Posts: 520

Posted: 08 Feb 2011 08:17:43 am    Post subject:

Yeah, I planned to have it all on one line, but I hadn't even thought of the While 0 thing! Thanks!
Back to top
mrmprog


Newbie


Joined: 04 Feb 2011
Posts: 44

Posted: 12 Feb 2011 07:03:13 pm    Post subject:

Any updates?
Back to top
Xeda112358


Active Member


Joined: 19 May 2009
Posts: 520

Posted: 12 Feb 2011 08:24:53 pm    Post subject:

Well, now that you mention it... I guess I can upload what I have so far ^-^ I have now added support for copying to vars defined by the user as well as deleting. I have not yet added header detection, but I do happen to have a program made that can compress hex programs (that have comments in them!). I think I am going to use the line reading routine in BatLib to make a simple line reading program, too. Then I can add line copying and editing and whatnot. I also don't have the PicView option because I accidentally crashed my calc and never added it back in >_>
Back to top
Display posts from previous:   
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
    »
» View previous topic :: View next topic  
Page 1 of 1 » All times are UTC - 5 Hours

 

Advertisement