I have been working over the four days since I released Doors CS 5.6 Beta 1 to resolve the bug reports that came in to me. Based on member feedback, there were two major problems, one with a homescreen hook that mysteriously could not be uninstalled via the usual romcall, and the second from a peculiar anomaly whereby deleted folders would not automatically have their contents moved to the parent folder of the deleted folder as I had thought I had programmed it. The first bug was helped via some manual flag manipulation (thanks to The Tari for the idea), while the second was solved by realizing I was doing something in a manner three times as difficult as necessary. I also fixed several more minor bugs, and updated the Doors CS Bugtracker to indicate this progress. The issues I have resolved:

Deleting programs sometimes causes system instability (07/28/06)
Deleting folders - subfolders not moved to parent (07/28/06)
If you click on a folder to go into it, then rightclick to rename, you can rename the folder (07/27/06)
Unable to lock or archive folders (07/27/06) this is intentional. see above for rename fix
Execution of BASIC programs causes homescreen lockup (07/27/06)

Download:
Doors CS 5.6 Beta 2
*bump*

Progress Report: Saturday, July 29, 2006

Routines Modified / Repaired:
PopGUIStack: the looping section of the routine intended to search for the top entry on the stack contained two specific miscodings that were resolved following intensive debugging. Approximate debug time: 45 minutes

GUIStackFindTop: intended to find the top group on the GUIStack. Added bc output, bc=de+2, for one routine. Approx. debug time: 15 minutes

GUIStackInsertByte: Added stack entry and RAM entry updating. Not yet tested working. Approx. debug time: 10 minutes

GUIStackDeleteByte: Added stack entry and RAM entry updating. Not yet tested working. Approx. debug time: 10 minutes

Routines Added / Created:
GUISRemoveMouseEntries: Removes all $18 and $19 entries from the top of the stack. Approx. programming and debug time: 90 minutes

GUISClickCheckbox: Allows a checkbox clicked to clear or recheck. Relies on all above routines except GUIStackActionByte routines. Approx. programming and debug time, total, inc. above: 180 minutes

Screenshot of Successful Feature:


Incremental Download:
Not available. Next public beta at Doors CS 5.6 Beta 3
Does Doors still only unarchive archived programs because I'm still kind of funny about shells that only unarchive - not only 'cause they kill your Archive faster, but because if it crashes, you end up losing stuff from your Archive - and that's not good...
Well, here's my reasoning:

1. Program writeback. Ion programs and Mirage OS programs must be unarchived and rearchived if they have any self-modifying code to store high scores, data, whatever
2. Naming. If a program needs to reference itself for some reason, it may expect to find have its original name. If not, system stability may be compromised.

What I'm going to do about it:

1. Similar to MOS, add an option to enable or disable program writeback. If disabled, Ion, DCS 5, and MOS programs will be copied to RAM.
2. Somewhere in the Doors CS 6 program header, I will add a field to indicate whether the program requires itself to be unarchived or copied. Doors CS will ignore the options setting and act accordingly.
3. Standalone TI-OS BASIC programs will always be copied
4. Standalone Doors CS BASIC programs will always be copied
5. Doors CS BASIC programs with associated subprograms will be copied, but their associated subprograms will of course have to be unarchived.

How does that sound?
hmm, that doesn't sound to bad.
Alrighty, I think I'll work on that later today then. A feature I just finished: GUISRadioClick.

What if you always copy the program to RAM, then when execution is complete, if writeback is enabled, delete the archived version, rename the RAM version, and archive it. That would eliminate losses of data from program crashes when writeback is on.
Additionally, it's bad practice to assume your program will be named something. The usual way to find yourself is do a pushreal01 at the beginning and reference that.
Agreed re: the second thing, but sadly ASM programmers often do not use good practices. Razz Myself included....

Re: the first thing: brilliant! That's exactly what I'll do. Btw, are you Tarik in the facebook group?
No, I'm not on facebook at all.
Oh, ok. Jpez was theorizing that you were the Tarik who joined my Calculator Programmers' Group based on your username here.
KermMartian wrote:
Oh, ok. Jpez was theorizing that you were the Tarik who joined my Calculator Programmers' Group based on your username here.


Speaking of which, how do I join? Would it be a highschool group or what?
Harq wrote:
KermMartian wrote:
Oh, ok. Jpez was theorizing that you were the Tarik who joined my Calculator Programmers' Group based on your username here.


Speaking of which, how do I join? Would it be a highschool group or what?
It's a group. Just search for Cemetech and you should find it. It's called "Calculator Programmers + Cemetech". Also, I'm starting on these improved archive handling routines now.
*bump*

Progress Report: Monday, July 31, 2006

Routines Modified / Repaired:
GUIMouse_Clip: Routine was using IconSpace32b+0, overwriting the 4 bytes (2x 2 words) used to store the beginning and end of the mouse click and cursor items. Approximate debug time: 45 minutes

VATFind: Item added to allow BASIC programs to have 16x16 icons. Approx. build time: 30 minutes

ArcUnarcDCSBASIC: Modified to account for 16x16 icons. Approx. build time: 20 minutes

GUIStackDeleteByte: Added stack entry and RAM entry updating. Not yet tested working. Approx. debug time: 10 minutes

Routines Added / Created:
GUISVertScrollUp/Down: Allows vertical scrolling via mouseclicks Approx. programming and debug time: 30 minutes

GUISVertScrollLeft/Right: Allow horizontal scrolling via mouseclicks. Approx. programming and debug time: 5 minutes.

GUISRadioClick: Allow clicking to set radio buttons within groups. 80 minutes.

Screenshot of Successful Features:


Incremental Download:
Not available. Next public beta at Doors CS 5.6 Beta 3
I noticed that you fixed the bug where it was holding on to the key press info when exiting DCS or creating a folder. good job. Smile

As stated in SAX, I really like the look of the "window" that pops up when you select the ^ icon on the task bar... neat stuff. Smile
Whenever I try to open the "Start" menu, it just goes up and instantly back down. Also, when I start Doors CS, the cursor is somewhere off the screen. Sad
Yes, the start menu thing is because I don't yet have anything to put in the start menu. The cursor thing is weird though.... can you replicate it or post a screenshoty?
I don't know if a screenshot wold help. I just press random arrow keys and it eventually appears
Hmmm. What type of calculator do you have? I'm guessing it's either an 84+ or 84+se. Do you have anything else installed on your calculator, like MOS, Calcsys, Omnicalc, etc?
84+ SE. I usually have Calcsys, Omnicalc and MOS installed, but the bug still exists after I uninstall them all (aka reset RAM)
If it is anything, it's Omnicalc, since I've tested having MOS and Calcsys on. Lemme try it and see what happens. In the meantime, have you found any other bugs?
  
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 4
» 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