Author |
Message |
|
Darth Android DragonOS Dev Team
Bandwidth Hog
Joined: 31 May 2003 Posts: 2104
|
Posted: 11 Jun 2003 02:49:54 pm Post subject: |
|
|
I beleive that support of TSE/TSE II prgms would help Nimbus |
|
Back to top |
|
|
NETWizz Byte by bit
Bandwidth Hog
Joined: 20 May 2003 Posts: 2369
|
Posted: 11 Jun 2003 02:56:30 pm Post subject: |
|
|
Either way the survey goes, TSE will not be supported in App 2. |
|
Back to top |
|
|
62 52 53 53 Formerly known as 62 52 53 53
Active Member
Joined: 30 May 2003 Posts: 607
|
Posted: 11 Jun 2003 02:58:04 pm Post subject: |
|
|
What about app3? Actually, the nimbus format could allow certain programs to switch tasks(maby). And it could have the libs from other formats accessable from nimbus progs.(ex: a prog would call a nimbus routine, which would run the routine(from say, Ion))
Last edited by Guest on 11 Jun 2003 03:02:18 pm; edited 1 time in total |
|
Back to top |
|
|
NETWizz Byte by bit
Bandwidth Hog
Joined: 20 May 2003 Posts: 2369
|
Posted: 11 Jun 2003 02:59:23 pm Post subject: |
|
|
I have not thought about APP 3. |
|
Back to top |
|
|
62 52 53 53 Formerly known as 62 52 53 53
Active Member
Joined: 30 May 2003 Posts: 607
|
Posted: 11 Jun 2003 03:04:11 pm Post subject: |
|
|
That's ok: I don't want TSE emulation anymore, I want task switching as part of the nimbus file format. (we need a "retract vote" button) |
|
Back to top |
|
|
NETWizz Byte by bit
Bandwidth Hog
Joined: 20 May 2003 Posts: 2369
|
Posted: 11 Jun 2003 03:40:36 pm Post subject: |
|
|
That may become a possibility.
I have been working with interrupts long enough that I think I could at least create a non coopertive task handler to at least kill a program without asking it to quit.
How it works.
An interrupt takes over, resets all flags, resets the stack pointer to what it was when the first program was executed, ret from interrupt will now return to NimbusOS instead of program, SP, PC, and Flags will be okay; thus, the calculator should not crash. |
|
Back to top |
|
|
Adm.Wiggin aka Tianon
Know-It-All
Joined: 02 Jun 2003 Posts: 1874
|
Posted: 11 Jun 2003 03:42:03 pm Post subject: |
|
|
doesn't non-cooperative mean it is a task switcher, not a multi tasker? |
|
Back to top |
|
|
NETWizz Byte by bit
Bandwidth Hog
Joined: 20 May 2003 Posts: 2369
|
Posted: 11 Jun 2003 03:44:37 pm Post subject: |
|
|
It means neither.
It means that NimbusOS will be able to take control of any program without asking permission.
Cooperative means that you press a key, and the program is expected to catch it and act upon it.
I do not know if we will ever do task switching or multitasking, but they are both possible.
Multitasking would be slow; however, possible. |
|
Back to top |
|
|
Adm.Wiggin aka Tianon
Know-It-All
Joined: 02 Jun 2003 Posts: 1874
|
Posted: 11 Jun 2003 03:49:24 pm Post subject: |
|
|
i personally think that multi-tasking is a kinda useless thing, but thats just me! i also think that task switching would be a very good aspect! |
|
Back to top |
|
|
62 52 53 53 Formerly known as 62 52 53 53
Active Member
Joined: 30 May 2003 Posts: 607
|
Posted: 11 Jun 2003 06:50:37 pm Post subject: |
|
|
Multitasking is good only in rare instances |
|
Back to top |
|
|
Pascal
Advanced Newbie
Joined: 24 May 2003 Posts: 76
|
Posted: 11 Jun 2003 10:24:34 pm Post subject: |
|
|
Multitasking on a calculator mabey. THough running 2 programs at once doesnt seem to usefull, accept in rare cases. Who knows when app 2 will come out, or what it will even be like , who knows if there will ever be an app 3! I think if we somehow got to the 10th version of nimbus, we could call is app x, that would be cool, or maby at 5 app V. Though im still confused to whyy it's even called app? does it refer to the applicatin form it was once converted to? why not something more nimbus like like nv2 9nimbus version 2) or something like that?
Just out of curiosity, becasue I liek the name app 1, it's origin is all that confuses me |
|
Back to top |
|
|
NETWizz Byte by bit
Bandwidth Hog
Joined: 20 May 2003 Posts: 2369
|
Posted: 12 Jun 2003 01:11:45 am Post subject: |
|
|
Nimbus started in basic about 3 years ago as nothing more than an idea.
I wrote a basic program called "NDOWS" It has the outline of a square icon, a crosshair for a mouse, a movable start bar, but was really slow, and only ran basic programs manually configured and designed to run under NDOWS.
Next, I started over wrighting a basic program I called "SHELL" for lack of a better name.
It started out on the homescreen and used ZPRGM which I sort of backwards engineered from ZDOS to put a featureless GUI on ZDOS 1.
At that point, I contacted David L (The Author of ZDOS) and asked him about how ZDOS works, about asm which I did not understand at that time, and I asked him how I could detect programs in basic.
He soon sent me a program called LISTPRGM wich reads all porgrams and stores their names to a string separated by commas.
e.g. A,ABC,MAZE,ZRACE...
I updated the shell much, and got to the point where the up and down arrows would display one program at a time on the screen, and pressing various buttons woud accomplish ZDOS Tasks. Essentially, I wrote a library for the ZDOS kernel which required another asm program.
Well, I soon discovered that sorting on the fly sucks because it is extremely slow to keep track of where you are and then try to find a comma closer to the beginning of a string
So, I wrote a sorting routine to cache the locations of each program in the string to a list.
I contated David again, and told him that we need a way to detect the archived and locked status of a program.
David then sent PRGMLIST a program that would index the programs in a format like this:
*A,LABC,3MAZE, ZRACE
* ment archved un protected
L ment protected not archived
Cube ment protectd and archived
A space ment unarchived unprotectd
I then implemented the new ability into the shell which at this time was using the homescreen and output.
After each press of the arrow key, a new program woudl be displayed, and the yes/no status of the archive and protection.
Next, I decided that it would look more realistic on the graph screen, so I set up the graphscreen, and make a relativly complicated GUI for a basic program.
I then realized that the scrolling routine was now slow becasue text( is much slower than output(
So, I decided the solution was to show each program name as you scroll, and not read the status (file info) until after the arrow key was released.
At this time, I (mostly) and David (not as much) went crazy. I decided that what it needed was to scroll until it reached either the first or the end program, then stop, yet if you released and pressed again, it should scroll all the way around
Then, we thought that APD would be awsome; sience, at that time, MirageOS had APD.
So, David sent me an asm program that was capable of turning off the calculator amoung other things.
I coded a bunch of timmers that reset on keypress into each endless loop, and I made countless optimizations. Heck, I emen made a popup for delete warning in Basic. We had uppercase and lowercase, and a bunch of other stuff in the options menu.
The project clearly got out of hand
At that point in time, we asked around to figure out what to call it, and someone posted VertigOS (almost made it too) and a few others.
Someone posted Nimbus (A type of clould), and I though Cirrus (another type of cloud) Programming..
Put two and two together, and we had an official name NimbusB1 Asm/Basic Hybrid Shell.
Later, we wanted speed, so it was recoded in asm. Beta 2 was unstable and unfinished, but cool.
Later, B2 was refinished and worked.
Beta 3 followed and actually worked great. Towards the end of B3, we were running basic and asm programs.
Finally, Beta 4 followed.
Soon, Beta 4 was changed into Application form, and can still be downloaded today from http://cirrus.tigalay.com under projects.
After that, we decided to re-design the entire application to make it better, make it faster, add features, and most of all, make it look as good as MirageOS.
We think we have it
All that is left:
Express free mem in B, K, %
Options Menu
Scroll Box
Basic Program Execution/Error handler fix
We hope to have it ready soon! |
|
Back to top |
|
|
NETWizz Byte by bit
Bandwidth Hog
Joined: 20 May 2003 Posts: 2369
|
Posted: 12 Jun 2003 01:15:16 am Post subject: |
|
|
Finnaly, after getting lost and comming back to the question, the Answer is B.
No.
Actually, we thought that making another shell in application form would be kind of neat.
Instead of useing version 1, ver 2, ver 3...
We decided that APPLICATION 1, APP 2... would be better
In other words, APP 1 will be the first public release of Nimbus OS. |
|
Back to top |
|
|
62 52 53 53 Formerly known as 62 52 53 53
Active Member
Joined: 30 May 2003 Posts: 607
|
Posted: 12 Jun 2003 08:24:03 am Post subject: |
|
|
If that's how nimbus started, some of my concepts have a chance! like a shell that runs things from the program menu. (by the way, If you still have those asm programs, I would like them. [I don't think that they are all available at TIcalc. Which raises a question. Was TIcalc even arround when you started?])
Last edited by Guest on 12 Jun 2003 08:29:27 am; edited 1 time in total |
|
Back to top |
|
|
NETWizz Byte by bit
Bandwidth Hog
Joined: 20 May 2003 Posts: 2369
|
Posted: 12 Jun 2003 04:46:11 pm Post subject: |
|
|
Sure, I will send you NimbusOS B1 and all of the files that go along with it.
Yes, TiCalc did exist back then. |
|
Back to top |
|
|
Adm.Wiggin aka Tianon
Know-It-All
Joined: 02 Jun 2003 Posts: 1874
|
Posted: 13 Jun 2003 08:29:49 pm Post subject: |
|
|
i think u should post all the *Stable* versions of Nimbus once the site is up... in order from Newest to Oldest... so that we can dl them... and if a version is unstable, u could still put it up, but put (UnStable) next to it, or just put the text (no dl)... |
|
Back to top |
|
|
NETWizz Byte by bit
Bandwidth Hog
Joined: 20 May 2003 Posts: 2369
|
Posted: 14 Jun 2003 04:48:47 am Post subject: |
|
|
B1 was stable
B2 was unstable
B3 was almost stable
B4 was stable
B4 App Stable
App 1 Stable |
|
Back to top |
|
|
Darth Android DragonOS Dev Team
Bandwidth Hog
Joined: 31 May 2003 Posts: 2104
|
Posted: 14 Jun 2003 02:36:42 pm Post subject: |
|
|
ok, maybe no TSE, but if u have it so nimbus can kill prgms with a button press (that would be nice), it should be 2 keys simultaneously (like [On]+[Clear]) bcuz a prgm might use the button for something else. i could never use the "save and quit" feature in a game for mirage bcuz the key was used by mirage to kill prgms. also, could a prgm get aroung it by disabling the interupts ("di")?
Last edited by Guest on 14 Jun 2003 02:37:36 pm; edited 1 time in total |
|
Back to top |
|
|
NETWizz Byte by bit
Bandwidth Hog
Joined: 20 May 2003 Posts: 2369
|
Posted: 15 Jun 2003 04:22:41 am Post subject: |
|
|
Yes, a program would be able to get around it by using di.
Still, the main difference between the way Nimbus will do it and the way MirageOS does it is that we are going to have two ways to kill a program.
1. On + something
What it will do is jump to a location secified in the header, so the program will be expected to clean up after itself and exit correctly wihtout bugging the user.
The other method will be On + Something else.
It will reset the system flags, delmem (remove running program from ram), reset the stack pointer to the value it was when the program started, push an exit address to the stack, ret within the interrupt to return to NimbusOS (will not return to program).
I have not figured it all out, but I believe we can kill a program directly.
Oh, one other thing, I will have to check the flash page to ensure that I do not kill a program in a system call while in flash It might be bad to quit in the middle of a bcall
Think if you ended up with a partially archived program or something. You might be currious what happend. |
|
Back to top |
|
|
Pascal
Advanced Newbie
Joined: 24 May 2003 Posts: 76
|
Posted: 15 Jun 2003 08:49:17 pm Post subject: |
|
|
Hey I remember that post Jbirk. I remember is was an old post, I arrived about a month late to see it calle nimbus, but I was there for the rest. Its funney, I used that sme list program routine to make a basica shell of my own. It was called Taja, adn the routine actaully worked, but the OS was never completed. |
|
Back to top |
|
|
|