I haven't worked on this for a long while, so I might as well post a quick video of it before it gets lost in obscurity....

Basically, it has a nifty palm=pre-esque "task-switching" system, background tasking, and a simple (incomplete) program manager (that uses brandonw's proglist). More info later... Any feedback would be greatly appreciated!

DarkFire is my work-in-progress program editor/simple basic shell for the TI83+ (/SE) & TI84+ (/SE) series. It sports a pre-esque windowing system that lets you quickly switch between "applications" (I have a few demo/blank ones in the video), and you can to some extent run several apps at once. kinda nifty. I also show off a momentum-based scrolling system applied to a "widget" sidebar in OPENXDCS, heavily influenced by the iPhone
Thats awesome. Any Chance of a beta version coming out soon? And don't you dare even think of working on another program until I get a beta version. I might have to call my uncle vito to come give you a little visit...

And is this a shell program, or just a basic program?
thanks! Very Happy its a basic program with some asm libs, but when its done it will definitely be published as an app (shell). The problem is that I have very little time; college visits, college applications, standardized tests, summer classes, other projects (well, I could cut these for now), sports, and volunteer work =/ It'll probably be quite a while before a presentable version is done, but I'll obviously post it once it is.

The waaay older versions are already on cemetech as TempIDE and CodeView. Its basically a whole new program now, though.

http://www.cemetech.net/forum/viewtopic.php?t=2831&postdays=0&postorder=asc&start=140
9scroll down until you see the image)
Definitely looking good, and nice use of stateful programming to approximate mutitasking. I've always wanted to implement something like that in Doors CS, but it's not feasible with existing ASM programs without swapping out practically the entire RAM in additional to the registers, and resolving conflicts between use of interrupts and system calls is a massive headache.
KermMartian wrote:
Definitely looking good, and nice use of stateful programming to approximate mutitasking. I've always wanted to implement something like that in Doors CS, but it's not feasible with existing ASM programs without swapping out practically the entire RAM in additional to the registers, and resolving conflicts between use of interrupts and system calls is a massive headache.


yeah, in the future, if this ever gets off the ground, it would be possible to get TiB programs to run through some sort of compatibility layer that swapped/managed standard variables, and then used unused labels to start/stop programs. You could make up some standards (having to use DCS provided routines, like you would with GUI, for instance) to get this kind of thing working in DCS though =D
that is looking amazing! can't wait for a beta so I can try it out!
good job rthprog!
I'm really liking the rubber band scrolling effect, how exactly did you pull it off?
This does look pretty amazing. Makes me wish I was working on a calculator project again. But does the shell not run Basic programs? That would be sad...I should revisit my ideas for a project that gives Basic local variables.
Thanks guys! Glad that you guys think it looks cool =D

Eeems wrote:
that is looking amazing! can't wait for a beta so I can try it out!
good job rthprog!
I'm really liking the rubber band scrolling effect, how exactly did you pull it off?


Basically I have three variables; vertical location, velocity, and acceleration. Acceleration is pointed towards each limit and is controlled to slow as the time since last keypress goes on, which adjusts the velocity and subsequently positions the sprites correctly. For the "widgets" themselves, I have 1 pic with all 4 widgets (1 in each quadrant), and some code that stiches the 2 halves of the pic together into one nice, fluid sidebar =D

magicdanw wrote:
This does look pretty amazing. Makes me wish I was working on a calculator project again. But does the shell not run Basic programs? That would be sad...I should revisit my ideas for a project that gives Basic local variables.


well right now it only runs windows written for it, and you have to manually add these program names to the shell. Its really not even a shell yet, I guess =/ Its original intent was to be a program editor, in which case it would be only "running" applications written by me. The thing is that as I went along, I thought that it would be really cool to have this foundation so that it could be eventually opened up to 3rd party basic programs. The problem it would have running BASIC programs without any compatibility layer is that the typical BASIC programs wouldn't allow for background tasking, and wouldn't be able to stop/start at will. Thus the need for a compatibility layer, a special app that runs BASIC programs within the confines of DF.
wow, that's pretty epic!
it's pretty interesting as well how you did it...can it run on a ti-83+? or does it require a faster calc?
Looking good!

I recommend you include this handy program I wrote recently. I think it would be a useful addition to this already cool program. (And its not very large).
http://www.ticalc.org/archives/files/fileinfo/420/42019.html

I guess this means I have to start working on Lunar IDE again ... Razz
Eeems wrote:
wow, that's pretty epic!
it's pretty interesting as well how you did it...can it run on a ti-83+? or does it require a faster calc?


yes, I actually wrote it with the ti83+ in mind. As you might be able to tell, some of the animations are a bit too fast on the 84+, so in the end I might have to make the animations into variable nature, tied to the type of calc/user settings. But thats for waaaay later =D

Zaphod Beeblebrox wrote:
Looking good!

I recommend you include this handy program I wrote recently. I think it would be a useful addition to this already cool program. (And its not very large).
http://www.ticalc.org/archives/files/fileinfo/420/42019.html

I guess this means I have to start working on Lunar IDE again ... Razz


Thanks! How many tiers will it go? I started thinking about working on a routine a while back to package a group of programs that call eachother into a single program by recalling "called" programs into a conditional placed at the start of the program, thus making the program easier to transfer/keep. But for it, I would need a routine like yours that maps the entire tree, listing all (BASIC) programs. Basically,


Code:
prgmA
:ACode1
:prgm B
:ACode2

prgmB
:BCode1
:prgm C
:BCode2

:prgmC
:CCode


would become


Code:
prgmA
:if Ans = 1E5:Then
:BCode1
:2E5:prgmA
:BCode2
:Return
:End
:if Ans = 1E6: Then
:CCode
:Return
:End
:ACode1
:1E5:prgmA
:ACode2
Quote:
How many tiers will it go?


What do you mean? Its not based on a tree file system. It simply just goes through all the programs alphabetically, line by line, switching references.
I'm pleased to see that you've implemented xDCS... Very Happy
ZagorNBK wrote:
I'm pleased to see that you've implemented xDCS... Very Happy
And I, although I've been thinking increasingly seriously of implementing the TI-BASIC to DCS GUI bindings that various people have nagged me about.
ZagorNBK wrote:
I'm pleased to see that you've implemented xDCS... Very Happy


oh yeah, 'twas very handy =D I had to cut out some features, like the "x" button, and some of the curves around the windows to speed up initial rendering though =(
Another Update. Though most changes are on the back end, I have made _some_ modifications to the UI.
1) You'll notice that switching between widgets is a bit more responsive
2) Quick Search lets you search through programs, settings, and documentation
3) System Tray lets you check inactive widgets, perhaps seeing what's next on your to-do list, or how much time you have till your next event in a calendar. In the video, I have a simple clock running.
4) "System Options" gives you quick access to important things like the Finder (seen in my earlier video) and Settings
5) Standardized Notifications allow all running widgets to send you notifications, even if you're not looking at them. I got the general idea from Android, avoiding making these notifications annoying.





See more photos here http://bit.ly/4BoRuI
I am currently hoping to release a beta during the summer of 2010.
This is very very impressive. Looking forward to more progress!
wow! even better then the first one! can't wait for more updates!
thanks guys Smile
I want teh beta now! Razz
  
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 2
» 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