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. Celtic III => Your Projects
United-TI Archives -> Celtic III
 
    » Goto page 1, 2, 3, 4, 5, 6  Next
» View previous topic :: View next topic  
Author Message
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 23 Sep 2007 11:49:29 am    Post subject:

http://iambianet.freewebpage.org/project0.html

Current version: 3.07

Features currently supported (taken right out of the readme) :

Code:
FEATURESET   cmd 00 Feature output on Str9
LINEREAD     cmd 01 Str0=file,Ans=line, Readout Str9
LINEWRITE    cmd 02 Str0=file,Ans=line, Write from Str9
LINEERASE    cmd 03 Str0=file,Ans=line, deletes line
LINEREPLACE  cmd 04 Not supported
TOGGLEARC    cmd 05 Str0=file, (un)arcs entry
TOKENCODE    cmd 06 Ans=tokencode, Readout Str9
DELETEPROG   cmd 07 Str0=file, deletes prog
OUTPUTSTATS  cmd 08 Str0=file, Str9= AVW00000 :ARC,VIS,WRI,0 siz
TOGGLELOCK   cmd 09 Str0=file, prog locked/unlocked
TOGGLEHIDE   cmd 10 Str0=file, prog hidden/unhidden
FINDPROG     cmd 11 Str0=phrase, Str9=proglist space delimited
CREATEPROG   cmd 12 Str0=name, file created
UNGROUPFILE  cmd 13 Str0=group, group ungrouped to RAM
GETGROUP     cmd 14 Str0=group, Contents listed in Str9
EXTGROUP     cmd 15 Ans=NthProgramInstr9, Item extracted.
TOGGLEAVAR   cmd 16 Str0=file, file toggled between AVAR/PROG

Don't understand it? Just read the readme found in the file with the Celtic III project.

Changes:
+ TOGGLEAVAR feature added in.
~ TOKENCODE implementation changed. See readme.
~ OUTPUTSTATS output changed. See readme.
~ LINEERASE bug fixed.
~ Edited FINDPROG to allow a null string input to search for all prog/appvar

------------
For those reading this topic for the first time, discussions have moved toward the now-active FlashAPP version of this project. See the "Feature Requests" first post for more details.

For convenience of those who don't want to sift through the entire topic searching for the downloads, I have links to the posts that contains the downloads. Each topic and discussion after that will indicate the bugs that are present and what I thought. I was originally going to simply attach each files, but a simple attachment does no good if it is not in the type of context it was originally supposed to be in. That is to say, each build HAD to have been replaced by another for some reason, and the posts is the only reasonable way to determine WHY it happened.

Of version 3.09
Revision A: http://www.unitedti.org/index.php?showtopi...ndpost&p=115211
Revision B: http://www.unitedti.org/index.php?showtopi...ndpost&p=117390
Revision C: http://www.unitedti.org/index.php?showtopi...ndpost&p=118415
Revision D: http://www.unitedti.org/index.php?showtopi...ndpost&p=121749
Revision E and F: http://www.unitedti.org/index.php?showtopi...ndpost&p=122047


Last edited by Guest on 07 Apr 2008 03:47:04 pm; edited 1 time in total
Back to top
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 01 Oct 2007 05:55:22 pm    Post subject:

Alright. I've decided to open this topic up for discussion. In the meantime, I've been working on a few things.

1. A version of the line read function that'll read the binary of a program and output hexadecimal digits. A version of the line write function to write binary given a hexadecimal string. And a version of the delete line routine that will delete X amount of bytes N bytes from the start of the file. This set would work well for the more ASM-inclined programmer.

2. A relatively simple version of the readline function that will output the entire contents of the program into a string, newline chars and all.

The following are still planned.

1. A version of the lineread routine that will read multiple lines given a second numeric input (will be decided later on, but it'll most likely be the same way you have to input the second number for the TOKENCODE command)

When I've tested some of the features already in the code to work, I'll be releasing Celtic 3.08. Hopefully, this won't take very long (maybe a day or two)
Back to top
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 04 Oct 2007 02:23:58 pm    Post subject:

Okay. It took me longer than a day or two, but it's finally out. Celtic 3.08 is now released under the "open beta" status, so you can test away without fear of too much being changed around.

The key features of this release are as follows:
1. Support for multiple line reading, replacing, and deleting
2. Binary reading/writing/deleting for those ASM inclined.
3. A final fix for the 9999 input limit, though the TOKENCODE command hasn't be rolled back to reflect those changes. (I'd like to know if you like the a+bi method better for input)
4. Reimplemented the LINEREPLACE command, and again, powered up with the multiple line replacing.
5. Actual checking to ensure you don't attempt to insert more memory than there is free RAM. (Why didn't I do this earlier?)
6. A command that will allow the contents of an entire file to be copied to a string.

There should also be a note that for the binary reading routine, there are no bounds checking to ensure that you aren't reading from memory areas outside of the intended variable file. Seriously, I don't want to put in any checks for that since it really isn't hurting anything, but that also means that you might be able to use Celtic III for purposes for which it was not intended :ninja:

The updated file is currently on my website. See post at top of thread for link.

You'll want to read the update information there, too. There are some more technical things that aren't mentioned here, including changes that never made it to the readme.

EDIT: And as always, if you see any bugs in the program, please report them. I'll never know unless you tell me.
------
EDIT2: I've also noted that the project is growing pretty large, and it may soon become RAM-prohibitive to keep as an ASM project. What do you guys think about this thing becoming a flash application?


Last edited by Guest on 04 Oct 2007 02:27:00 pm; edited 1 time in total
Back to top
justusdude


Advanced Member


Joined: 24 May 2006
Posts: 265

Posted: 04 Oct 2007 02:56:04 pm    Post subject:

Sounds like a good idea. That way you can create your own tokens and whatnot.
Back to top
pugboy


Active Member


Joined: 11 Apr 2007
Posts: 544

Posted: 04 Oct 2007 06:48:57 pm    Post subject:

I second that. It is nice to have an 84+ Very Happy
Back to top
Harrierfalcon
The Raptor of Calcs


Super Elite (Last Title)


Joined: 25 Oct 2006
Posts: 2535

Posted: 04 Oct 2007 08:32:30 pm    Post subject:

If it's going to enter app form, I'll make a few suggestions. First, use the imag( command Smile. Second, implement any features that even slightly look good, because someone'll use it sooner or later. Make use of your 16K!

Third, this is getting excellent. Keep up the good work!
Back to top
pugboy


Active Member


Joined: 11 Apr 2007
Posts: 544

Posted: 04 Oct 2007 08:52:03 pm    Post subject:

Hey, I was going to use the imag( Razz. I thin it is a good idea to use the imag(. Everything uses real(, and it gets annoying to type in real(100,...
Back to top
Weregoose
Authentic INTJ


Super Elite (Last Title)


Joined: 25 Nov 2004
Posts: 3976

Posted: 04 Oct 2007 09:00:14 pm    Post subject:

For the love of all that is holy, please do not use imag(). Think about it.

Last edited by Guest on 23 Sep 2010 11:49:16 pm; edited 1 time in total
Back to top
pugboy


Active Member


Joined: 11 Apr 2007
Posts: 544

Posted: 04 Oct 2007 09:13:34 pm    Post subject:

It just outputs a 1 or 0...
Back to top
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 04 Oct 2007 09:15:41 pm    Post subject:

Well, I do have a few ideas that might be app-specific.

Nice idea about the imag( token being used for more than one thing. I know it has uses, but I also know that any hook will pick up on the fact that if there are more than one arguments placed into imag(, the OS will throw an error if nothing's done about it. That's where the command input will take charge, and I suppose it'll set itself apart from all the other apps that make use of the real( command.

In addition, I'm thinking about allowing the use of the sub( and the inString( commands to allow extracting string parts and whatnot out of program files instead of strings. Don't worry. I'll have a way to distinguish between legit use and Celtic use. I'll have those ideas outlined later.

As far as the app goes, I might also include an option, since I have 16K to waste, to have the app generate an ASM program that can be used to autoinstall Celtic. Anyway, you can put those ideas in the feature request thread.
Back to top
DJ Omnimaga
http://i-lost-the-ga.me


Calc Guru


Joined: 14 Nov 2003
Posts: 1196

Posted: 04 Oct 2007 09:19:07 pm    Post subject:

I think he made celtic detects if imag( is used for its normal purpose or if you use it for celtic, thus, you can still use imag( fine when celtic is installed
Back to top
calc84maniac


Elite


Joined: 22 Jan 2007
Posts: 770

Posted: 04 Oct 2007 11:42:27 pm    Post subject:

Iambian wrote:
Well, I do have a few ideas that might be app-specific.

Nice idea about the imag( token being used for more than one thing. I know it has uses, but I also know that any hook will pick up on the fact that if there are more than one arguments placed into imag(, the OS will throw an error if nothing's done about it. That's where the command input will take charge, and I suppose it'll set itself apart from all the other apps that make use of the real( command.

In addition, I'm thinking about allowing the use of the sub( and the inString( commands to allow extracting string parts and whatnot out of program files instead of strings. Don't worry. I'll have a way to distinguish between legit use and Celtic use. I'll have those ideas outlined later.

As far as the app goes, I might also include an option, since I have 16K to waste, to have the app generate an ASM program that can be used to autoinstall Celtic. Anyway, you can put those ideas in the feature request thread.
[post="113886"]<{POST_SNAPBACK}>[/post]


While you're at it, please please PLEEASE make sub( and + support length 0 strings. Razz
Back to top
vuurrobin


Advanced Member


Joined: 09 Aug 2006
Posts: 428

Posted: 05 Oct 2007 03:50:52 am    Post subject:

I am not sure whether I like the idea of celtic becoming an app. since people already can create custom builds, they could create 2 programs with each different functions to keep the size down and the speed high. it's not like you need every function all at the same time...


the reason that most people use real( is that there is a workaround using imag
(. if you use imag(, that workaround can't be used. I suggest to stick with real(, or to use ipart( or int(, since they do almost the same.


if this does become an app, make sure it is compatable with xlib (and maybe some other apps). and that installing program would be usefull to (xlib could use a prog like that to)
Back to top
calc84maniac


Elite


Joined: 22 Jan 2007
Posts: 770

Posted: 05 Oct 2007 02:11:00 pm    Post subject:

How about det(? I think it is a one-byte token, so that will cut down on program size. Just check and see if the first argument is a matrix, and if so, return control to the OS.

Last edited by Guest on 23 Sep 2010 11:49:37 pm; edited 1 time in total
Back to top
DarkerLine
ceci n'est pas une |


Super Elite (Last Title)


Joined: 04 Nov 2003
Posts: 8328

Posted: 05 Oct 2007 02:35:20 pm    Post subject:

I also suggest making the chosen function return a value even when there's no meaningful value to return (just return 0 in that case).

This shoudl allow the programmer to put it into a seq( loop or an expr( command, among other things.
Back to top
Weregoose
Authentic INTJ


Super Elite (Last Title)


Joined: 25 Nov 2004
Posts: 3976

Posted: 05 Oct 2007 04:57:00 pm    Post subject:

DarkerLine wrote:
I also suggest making the chosen function return a value even when there's no meaningful value to return (just return 0 in that case).

This shoudl allow the programmer to put it into a seq( loop or an expr( command, among other things.
And if it's possible to return what's already in Ans, that should make it relatively invisible.

Last edited by Guest on 23 Sep 2010 11:49:59 pm; edited 1 time in total
Back to top
DJ Omnimaga
http://i-lost-the-ga.me


Calc Guru


Joined: 14 Nov 2003
Posts: 1196

Posted: 05 Oct 2007 05:18:27 pm    Post subject:

DarkerLine wrote:
I also suggest making the chosen function return a value even when there's no meaningful value to return (just return 0 in that case).
[post="113920"]<{POST_SNAPBACK}>[/post]
I don't. You have no idea how much pain it gave me when I made Reuben Quest series and Diortem using Omnicalc, which returned 0 when using the sprite command. I couldn't even use the Ans variable while grayscale was running
Back to top
Iambian


Advanced Member


Joined: 13 Mar 2004
Posts: 423

Posted: 05 Oct 2007 11:19:41 pm    Post subject:

I plan on having Celtic return values according to whatever function it is.
For example, say we'd use a command to extract a line from a program. The result of that would then be a string. For commands that have no return value, it'll just mirror what Ans had.

And thanks for the suggestion about using det(. Yes, it is a one-byte token (ti83plus.inc says it equates to $B3).

I'm just happy that there's a bit of support going for this project turning into an flash application, so I'd better get to work with the conversion. If I happen to add any new features that aren't app-specific I'll still update the RAM-resident version to reflect the changes.
Back to top
Areign


Newbie


Joined: 27 Jan 2007
Posts: 31

Posted: 07 Oct 2007 04:06:16 pm    Post subject:

have any of you used symbolic, its seems that it makes its own commands, why cant this be the same? instead of ruining programs that make use of commands why not make your own? if that cant work, i also dont understand why people cant implement the actual command into the app like if xlib, in addition to doing whatever it did, also returned the actual real value of any varialbes that were passed in? i dont know asm so i dont know if its feasible but to me it seems easy, at least the second part. like in the case of det( people are passing in a matrice. so if the person passes in a matrice, have the actual det( do its work, otherwise your lib will take it. idk if anyone has ever done that, but that would make it alot easier to use for those of us who actually use the calc for math programs as well.

Last edited by Guest on 07 Oct 2007 04:17:24 pm; edited 1 time in total
Back to top
DarkerLine
ceci n'est pas une |


Super Elite (Last Title)


Joined: 04 Nov 2003
Posts: 8328

Posted: 07 Oct 2007 04:41:04 pm    Post subject:

Areign wrote:
have any of you used symbolic, its seems that it makes its own commands, why cant this be the same? instead of ruining programs that make use of commands why not make your own? if that cant work, i also dont understand why people cant implement the actual command into the app like if xlib, in addition to doing whatever it did, also returned the actual real value of any varialbes that were passed in? i dont know asm so i dont know if its feasible but to me it seems easy, at least the second part. like in the case of det( people are passing in a matrice. so if the person passes in a matrice, have the actual det( do its work, otherwise your lib will take it. idk if anyone has ever done that, but that would make it alot easier to use for those of us who actually use the calc for math programs as well.
[post="114023"]<{POST_SNAPBACK}>[/post]
Unfortunately, the method you're referring to stopped working for calculators with some OS version, I think 1.17 was it. And I believe the people suggesting det( did indeed want it to work normally for a matrix argument.

Last edited by Guest on 23 Sep 2010 11:48:54 pm; edited 1 time in total
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
    » Goto page 1, 2, 3, 4, 5, 6  Next
» View previous topic :: View next topic  
Page 1 of 6 » All times are UTC - 5 Hours

 

Advertisement