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. NimbusOS => Your Projects
United-TI Archives -> NimbusOS
 
    » Goto page 1, 2, 3, 4, 5, 6, 7, 8  Next
» View previous topic :: View next topic  
Author Message
NETWizz
Byte by bit


Bandwidth Hog


Joined: 20 May 2003
Posts: 2369

Posted: 08 Jan 2004 10:16:20 pm    Post subject:

Here is beta 5.1

You can tell by looking at the splashscreen.

NimbusOS beta 5.1 is the same as Beta 5, but we fixed the strange hidden program bug, which everyone has noticed.

You see; we listen to your feedback.
Back to top
Jedd
1980 Pong World Champion


Elite


Joined: 18 Nov 2003
Posts: 823

Posted: 08 Jan 2004 10:42:48 pm    Post subject:

Looks great! The battery icon even says it's low! (which is good for Nimbus, but bad for me)
Back to top
shadowing
Powered by 64


Calc Guru


Joined: 06 Jan 2004
Posts: 1002

Posted: 08 Jan 2004 10:55:44 pm    Post subject:

Hey Jbirk, are you planning to release the source code??
Back to top
NETWizz
Byte by bit


Bandwidth Hog


Joined: 20 May 2003
Posts: 2369

Posted: 09 Jan 2004 01:12:11 am    Post subject:

Eventually after the project is done, but not for a year or two after NimbusOS is complete.

Our plans could change though. However, we do plan on releasing it.

Things to do for App 1:

Options menu
Scroll box
add an option for disolve effect or no disolve effect.
Double check the battery icon indicators function.
debug the basic parser
scroll faster

App 2:
Interrupt handler
Mirage OS support
Tasker/kill program support
Added option to force kill using without jumping to a special label of the program.
Some neat hooks.

App 3.
Some cool library routines.

Multiple interrupt support built in. Smile that allows multiple interrupts to be called. To make matters easier, there will be a special call where nimbus will set it all up. All a user will have to do is add each individual interrupt to their program's data and add a table to their data. Then a simple nimbus call and bamn it will integrate perfectly with the nimbusOS interrupts.
Essentially we are going to allow programs to install their own interrupts without overwrighting our interrupts! In fact, the nimbus OS interrupt will power their interrupt routine!
Compression will be standard.
Hot list (shows most current used programs)...
Back to top
Jedd
1980 Pong World Champion


Elite


Joined: 18 Nov 2003
Posts: 823

Posted: 09 Jan 2004 01:15:39 am    Post subject:

Phew that's alot. How long will all that take before a version of the App is ready to go?
Back to top
NETWizz
Byte by bit


Bandwidth Hog


Joined: 20 May 2003
Posts: 2369

Posted: 09 Jan 2004 01:59:24 am    Post subject:

Here is how the nimbus interrupt will work:

Here is some psudo-code


Code:
nimb_interrupt:

If optionset{
   checkkill
   if userwishestokill{
      bjump(_killprgm)
   }
}
If optionset{
   updatenimbustimer
   if expired{
      powerdown
   }
}
... more internal nimbus crap

;execute user interrupts
   ld a,(userint1)
   or a
   jp z,check2;if 0, the user doesn't have that interrupt enabled skip it
  ;load that interrupt
   call (userint1+1);run the users interrupt and return here when done
check2:
   ld a,(userint2)
   or a
   jp z,check3
  ;enabled, so load it
   call (userint2+1)
... more user single interrupts
checksequentialinterrupt:
   ld a,(userintsequential)
   cp 0;takes a byte more than or a, but preserves register a
   jr z,donewithuserints
  ;enabled, so we need to run all of them
  ;check which one to run
   ld a,(inttorunnext) ;what to run this time
   inc a;prepare for next time
   ld (inttorunnext),a ;leave a note for next time
   dec a;go back to the one we should run this time
  ;a is the one to run this time
   ld (hlsave),hl;save hl we will probably need it later
   ld hl,(userintsequential);address of users jump table
checkvector:
   cp 0
   jp z,runit
add3tohlforeacha:
   inc hl
   inc hl
   inc hl
   dec a
   jr checkvector
runit:
   call (hl);run the users interrupt
   ld hl,(hlsave)

donewithuserints:
   reti;or whatever to exit the main nimbus interrupt :)

;data here
userint1:
.db 0;user single interrupt enabled or disbled 1 or 0
.db 0,0;addy of interrupt
userint2:
.db 0
.db 0,0
...
userintsequential:
.db 0; number of sequential interrupts 0=disabled 1 to 128= enabled
.db 0,0;start of user defined jump table
inttorunnext:
.db 0
hlsave:
.db 0,0
endnimbint:


Here is how I invision it:

user_interrupts_defined:
jp sequential_one
jp sequential_two
... whatever they want they can have up to 128

to enable it
ld a,number_of_sequential_items_user_has
bcall(_nimbusseqon)

likewise, there will be another to turn off

To enable individual interrupts that do not necessarily have to run in order,

ld hl,label_of_interrupt
bcall(_setupint1)
...

each time the system runs the nimbus interrupt, it will run user defined one, which will call lable_of_interrupt

after all those are done, the system will call each item in the users jump table in sequential order Smile running a string of interrupts

Cool eh?

Now, here comes the briliant stuff

When the user makes a call and then ret to return, their interrupts are not effected.

When the user uses ret to exit the program, the unloader will reset all user interrupts for the user, so the programs interrupts are stopped.

There will also be some sort of bjump(_nimbusendtask)
which when called will jmp to a special routine which will reset the flags and stack pointer then jump to the correct point in the unload.

You have heard that you must always be sure to leave the system okay, well, I plan to have nimbus save a snapshot of the system flags and stack pointer, so the program can be killed without making the calculator unstable.

Within the system interrupt there is also a reference to the end task. Well, pressing on and selecting end task will end the task (program)


Basically, these little interrupts will allow a user to write processes for their programs to run. The task being the program, the processes being individual interrupts. Ending task ends all processes (interrupts) assosiated with it!

Think about it.

You could call delays, update a score, at the same time do some grey scale, ... whatever. You will be able to make your programs do more than one thing at a time :)

Feedback Please
Back to top
shadowing
Powered by 64


Calc Guru


Joined: 06 Jan 2004
Posts: 1002

Posted: 09 Jan 2004 07:11:46 pm    Post subject:

Cool!! Hey are you going to add a hybrid parser? Oh yeah, is there any way your Nimbus OS will access apps? Will you make a system of routines to make a Nimbus OS games?
Back to top
Alan


Member


Joined: 12 Jul 2003
Posts: 145

Posted: 09 Jan 2004 07:39:36 pm    Post subject:

NimbusOS Comments

Suggestions:
-scrolling through the progs is too slow
-have option to not dissolve when started
-make batt colored in when full instead of blank
-move scroll bar to the right a few pixils/make info icons smaller to have room next to each progname for and archive asteric as in the tios mem menu and replace the archive icon with the program's icon(i think only mirage progs have individual icons)

Bugs:
The scroll up bug does not happen on my calc unless I hide one of the apps that is mentioned below. When I scroll all the way down, past the prgms list, I see either the apps or appvars named calcsys and remote in the list. It seems that calcsys is the actual app because of its size. When I hide remote or calcsys the scroll up bug happens. I scroll up one past the fist prgm and see a hidden, unknown prgm with the same size as remote. When I press up once more I see an unknown prgm with the same size as calcsys. When I scroll up again it takes me back to the first real prgm. Both unknown prgms have a blank prgm name and when I unhide the unknown prgm that is the same size as remote, the scroll up bug goes away and calcsys and remote are again at the bottom.

The whole time I used Nimbus it had some glitches but never crashed on me. Great job on the beta! Its better than ion but not as good as mirage yet. I hope it becomes as fast, smaller in size, and more customizable than mirage.
Back to top
Jedd
1980 Pong World Champion


Elite


Joined: 18 Nov 2003
Posts: 823

Posted: 09 Jan 2004 07:47:28 pm    Post subject:

Quote:
-make batt colored in when full instead of blank


Is it??? I think you just have a low battery and don't know it...

If not though, then I agree, a batt filled with on pixels should mean a full battery, not the other way around.

Tangent: How does the calc (not the OS) know how much life is left in the batt? Isn't voltage the same up until it dies (when it is zero)?
Back to top
Alan


Member


Joined: 12 Jul 2003
Posts: 145

Posted: 09 Jan 2004 08:48:14 pm    Post subject:

no, the volatage does drop as a battery looses power. it can only tell if it is okay or bad and the batt image was colored a little bit on the right site and i thought they would make it empty when the batt was low and so i guessed it being white meant full. ill check with new batts.
Back to top
shadowing
Powered by 64


Calc Guru


Joined: 06 Jan 2004
Posts: 1002

Posted: 09 Jan 2004 10:05:10 pm    Post subject:

Hey why not make sections for like ASM, TI-BASIC, Mirage OS, and Ion. For example, if you press left, or right, it goes to another section that has only these programs. I would find this convenient as it is confusing for me to find which programs I need to access.
Back to top
ducttape_87


Member


Joined: 01 Jul 2003
Posts: 141

Posted: 10 Jan 2004 11:15:52 pm    Post subject:

wow. this is better than I expected. Now I can (un)lock programs quickly, even ones that are not mirage compatible.
Quote:
Hey why not make sections for like ASM, TI-BASIC, Mirage OS, and Ion. For example, if you press left, or right, it goes to another section that has only these programs. I would find this convenient as it is confusing for me to find which programs I need to access.

This is an excellent idea. This and faster scrolling if possible, will allow users a very effecient way to organize.

Are you going to do folders at all like mirage? That is one thing I like about mirage.


Last edited by Guest on 10 Jan 2004 11:19:07 pm; edited 1 time in total
Back to top
Jedd
1980 Pong World Champion


Elite


Joined: 18 Nov 2003
Posts: 823

Posted: 10 Jan 2004 11:55:34 pm    Post subject:

I think the scrolling is plenty fast. That way you don't quickly press down and skip over 3 programs.

The left/right for different types of programs is a very good idea. You could have menus for programs in Basic, Ion, Mirage, Nimbus (if you can do that), and normal ASM games. If you wanted to take this further, you could make menus for hidden programs (by pressing left/right, not up). This would make Nimbus stand out among all the OS's out right now, and make it very user friendly.

I also agree with the folders idea. It would also be a nice option to turn folders off for people that only have a few progs on their calc.
Back to top
NETWizz
Byte by bit


Bandwidth Hog


Joined: 20 May 2003
Posts: 2369

Posted: 11 Jan 2004 03:56:19 am    Post subject:

We could do that, but we would have to re-write the program sorter.

We would have to choose a default I.E. Show all

Then pressing left or right would have to inc or dec a variable, which the program sorter uses to make selections. It would be complicated, but I guess that could be done.
Back to top
shadowing
Powered by 64


Calc Guru


Joined: 06 Jan 2004
Posts: 1002

Posted: 11 Jan 2004 04:58:01 pm    Post subject:

I hope so. Hey good luck!
Back to top
DarkerLine
ceci n'est pas une |


Super Elite (Last Title)


Joined: 04 Nov 2003
Posts: 8328

Posted: 12 Jan 2004 06:02:23 pm    Post subject:

The 1s and 0s overwhelm me. What does that look like?
Back to top
Adm.Wiggin
aka Tianon


Know-It-All


Joined: 02 Jun 2003
Posts: 1874

Posted: 12 Jan 2004 06:19:26 pm    Post subject:

a B

what was expected?
Back to top
NETWizz
Byte by bit


Bandwidth Hog


Joined: 20 May 2003
Posts: 2369

Posted: 12 Jan 2004 07:25:12 pm    Post subject:

Wow, that does match the ION icon better than the previous BASIC icon!

In the future, if you wish to submit an icon, do it in this format:


Code:
 db 11111111b,11111111b
 db 10011000b,00000001b
 db 10101111b,11111101b
 db 10011111b,11111101b
 db 10101111b,11111101b
 db 10010111b,11111101b
 db 11101010b,01111101b
 db 10100010b,11000101b

 db 10101011b,01101101b
 db 10111110b,01101101b
 db 10111111b,11000111b
 db 10111111b,11111001b
 db 10111111b,11110111b
 db 10111111b,11110111b
 db 10000000b,00011001b
 db 11111111b,11111111b


I put that in NimbusOS and selected Build All, then I loaded the flash debugger with the .hex file, and created a basic program called BASIC, so NimbusOS would have something to detect.

Here is what it looks like in the TI-Flash Debugger emulater:
Back to top
NETWizz
Byte by bit


Bandwidth Hog


Joined: 20 May 2003
Posts: 2369

Posted: 12 Jan 2004 07:28:50 pm    Post subject:

hart326,

If you would like, I can talk with the rest of the development team what they think about you joining as a graphical artists of sprites.

We could really use your expertise for drawing icons. P.S. if you join, or if we use you BASIC icon, we will give you credit in NimbusOS or witin the readme file. It depends on how much work you do for NimbusOS. One icon won't get you in NimbusOS, but it will get you mentioned in the readme file :)

-Jbirk on behalf of NimbusOS development.
Back to top
shadowing
Powered by 64


Calc Guru


Joined: 06 Jan 2004
Posts: 1002

Posted: 12 Jan 2004 08:09:02 pm    Post subject:

Cool. Hey JBirk, when do you think NimbusOS will be able to support MirageOS progs. Oh yeah, will there be such things as a Nimbus OS prog?
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, 7, 8  Next
» View previous topic :: View next topic  
Page 1 of 8 » All times are UTC - 5 Hours

 

Advertisement