Author |
Message |
|
Bluefire
Member

Joined: 18 Jan 2004 Posts: 186
|
Posted: 18 Jan 2004 10:27:29 pm Post subject: |
|
|
hehe cool an ty for the welcome =) |
|
Back to top |
|
|
mmartin
Newbie

Joined: 18 Dec 2003 Posts: 7
|
Posted: 19 Jan 2004 11:36:06 am Post subject: |
|
|
It's very slow on my se with about 100 programs on it. It takes 1 minute to scroll through the entire list of programs! (I timed it)
When I push up at the beginning of the program list, the entire list wil be cleared. I have to push either two times up or one time down to get back.
Pressing on doesn't work very well on the se. When I press on, see the calc turn of and turn on. The se requires different code to turn off the calc.
But aside from these unwanted features (no bugs) it seems to work fine. |
|
Back to top |
|
|
DarkerLine ceci n'est pas une |
Super Elite (Last Title)

Joined: 04 Nov 2003 Posts: 8328
|
Posted: 19 Jan 2004 12:56:20 pm Post subject: |
|
|
mmartin wrote: Pressing on doesn't work very well on the se. When I press on, see the calc turn of and turn on. The se requires different code to turn off the calc.
Mirage has the same problem, if you press on very quickly it will work. |
|
Back to top |
|
|
David The XORcist!
Advanced Member

Joined: 20 May 2003 Posts: 268
|
Posted: 19 Jan 2004 02:43:01 pm Post subject: |
|
|
mmartin wrote: It's very slow on my se with about 100 programs on it. It takes 1 minute to scroll through the entire list of programs! (I timed it)
When I push up at the beginning of the program list, the entire list wil be cleared. I have to push either two times up or one time down to get back.
We are aware of the program list problem.
The actual sorting routine in NimbuOS is three times faster than the TI-OS bcalls _FindAlphaUp/Dn, but it's implementation steals a whole lot of (unneded) processing power. I'm convinced we could achieve much faster scrolling by optimizing the code. |
|
Back to top |
|
|
Jedd 1980 Pong World Champion
Elite

Joined: 18 Nov 2003 Posts: 823
|
Posted: 19 Jan 2004 03:30:56 pm Post subject: |
|
|
The reason it goes blank when you push up is because that is the list of all hidden programs (I think, but I know it's a list of other types of programs). If it's empty then that simply means you don't have any programs of that type. |
|
Back to top |
|
|
NETWizz Byte by bit
Bandwidth Hog

Joined: 20 May 2003 Posts: 2369
|
Posted: 20 Jan 2004 11:36:28 pm Post subject: |
|
|
Get Beta 5.1 to solve the strange hidden programs bug you described, Jedd!
David, how can we optimeze the program sorter?
It seems very much optimized to me; however, I am not a good optimizer when compared to other superiour programers such as yourself.
Please focus all of your energy in fixing the Basic Parser.
I will discover the exact formatting of the appvar, so I can write the Opts menu.
Last edited by Guest on 20 Jan 2004 11:40:20 pm; edited 1 time in total |
|
Back to top |
|
|
Jedd 1980 Pong World Champion
Elite

Joined: 18 Nov 2003 Posts: 823
|
Posted: 20 Jan 2004 11:44:49 pm Post subject: |
|
|
Are you guys going to make your own Basic Parser? That's quite a task in itself, isn't it? |
|
Back to top |
|
|
tyskis
Member

Joined: 20 Nov 2003 Posts: 238
|
Posted: 21 Jan 2004 10:36:15 am Post subject: |
|
|
i think i had the program sorter problem in the new version to, but i'm not sure, will doublecheck that  |
|
Back to top |
|
|
David The XORcist!
Advanced Member

Joined: 20 May 2003 Posts: 268
|
Posted: 21 Jan 2004 11:50:48 am Post subject: |
|
|
Jbirk wrote: David, how can we optimize the program sorter?
The sorter itself is (probably) well-optimized. But when you press the arrow key to scroll, it also does the following in the mentioned order:
- Updates the internal variables (program type, size, location in the program list etc)
- Clears the graph buffer
- Redraws the whole GUI
- Updates Free RAM/Arc and battery status
- displays the corresponding attribute icons
- generates the whole program list - once again
One could for example rewrite the main system loop, so that just the program list becomes updated when you tap [UP] or [down] continuously to scroll, and updates the rest of the GUI when you release it. |
|
Back to top |
|
|
Adm.Wiggin aka Tianon
Know-It-All

Joined: 02 Jun 2003 Posts: 1874
|
Posted: 21 Jan 2004 03:23:27 pm Post subject: |
|
|
discover? didn't you program the appvar format? i am confused now  |
|
Back to top |
|
|
David The XORcist!
Advanced Member

Joined: 20 May 2003 Posts: 268
|
Posted: 21 Jan 2004 03:28:49 pm Post subject: |
|
|
Yes, but the appvar format hasn't been fully worked out yet by me  |
|
Back to top |
|
|
mmartin
Newbie

Joined: 18 Dec 2003 Posts: 7
|
Posted: 21 Jan 2004 05:11:16 pm Post subject: |
|
|
A good way to optimize the code is to sort before starting the gui like mirageos does. Only you should use something like insertion sort instead of bubble sort. My insertion sort implementation takes less than .5 second to sort about 100 programs that's barely noticable when starting up. After the vat is sorted you can just walk through the vat to find the correct program without having to worry about the names. This can speed up the entire process considerably.
The variable width font is slow thus you can better use ldir's to move texts around the screen if you want it to be fast.
Why would you update the free ram and battery for every scroll, just do this once when you start the gui (start of app and end of program) |
|
Back to top |
|
|
Adm.Wiggin aka Tianon
Know-It-All

Joined: 02 Jun 2003 Posts: 1874
|
Posted: 21 Jan 2004 05:58:27 pm Post subject: |
|
|
but then, if the battery dies during program execution, you never know... |
|
Back to top |
|
|
NETWizz Byte by bit
Bandwidth Hog

Joined: 20 May 2003 Posts: 2369
|
Posted: 21 Jan 2004 06:23:08 pm Post subject: |
|
|
David,
That is how I did it in Beta 1 a long time ago. I did not look anything up until the key is released. |
|
Back to top |
|
|
tyskis
Member

Joined: 20 Nov 2003 Posts: 238
|
Posted: 22 Jan 2004 02:31:31 am Post subject: |
|
|
i doublechecked, and i HAVE the same problem (sorting, empty programs at top) in the new version! I tried to remove the appvar, but it didn't help either...
 |
|
Back to top |
|
|
mmartin
Newbie

Joined: 18 Dec 2003 Posts: 7
|
Posted: 22 Jan 2004 10:36:16 am Post subject: |
|
|
Adm.Wiggin wrote: but then, if the battery dies during program execution, you never know...
I don't think sorting is more dangerous than for example deleting a program, both can mess up your entire vat. And nobody ever cares about it being dangerous to delete programs. If you really want to you can use vectors to clean up the vat if the sorting hasn't finished. |
|
Back to top |
|
|
Matt
Member

Joined: 11 Jun 2003 Posts: 169
|
Posted: 22 Jan 2004 05:20:26 pm Post subject: |
|
|
Man I gotta problem . . . I made a program using BASIC but the code included
Code: ClrHome
Input "",Str1
real(13,Str1) ;aka: simp(
Ans->Str2 ;stores Str1 into Str2
real(19,Str2 ;aka: pretty(
Pause
(Those can be found in "Symbolic" [a detached app])
On the third line is the 'simp(' command
On the fourth line is <Ans->Str2> functions
On the fith line is the 'pretty(' command
<><><>so. . . . . . when I ran the program in NimbusOS it messed up really bad!<><><>
<><><>A screen with a bunch of random dots everywhere came up after I hit enter (the pause command was running as you can see on the 6th line)<><><>
Note: you will need the following apps to test:
- NimbusOS
- PrettyPt (Pretty Print)
- Symbolic (needs all functions to be installed)
Well . . .I hope you can find the problem and fix it
Last edited by Guest on 22 Jan 2004 05:25:52 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: 22 Jan 2004 05:43:06 pm Post subject: |
|
|
probably nimbus can't do external functions. Maybe you should program simp( yourself, takes a lot of memory but the experience is worth it. |
|
Back to top |
|
|
mmartin
Newbie

Joined: 18 Dec 2003 Posts: 7
|
Posted: 23 Jan 2004 09:57:06 am Post subject: |
|
|
The code seemed to work fine during a quick test in the flash debugger. But symbolic and prettyprint use scratchram during their operations and can overwrite memory used by nimbusos. But because they use a variable amount of memory this doesn't always has to cause problems.
Thus to solve this problem nimbusos should use scratachram that isn't used during operations of symbolic,omnicalc,prettyprint or tios itself. |
|
Back to top |
|
|
DarkerLine ceci n'est pas une |
Super Elite (Last Title)

Joined: 04 Nov 2003 Posts: 8328
|
Posted: 23 Jan 2004 12:34:26 pm Post subject: |
|
|
If nimbus will have its own basic parser won't it have a problem running the symbolic functions? |
|
Back to top |
|
|
|