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. 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 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 |
|
|
|