KermMartian wrote:
Thanks schoolhacker, I've been trying to reproduce it, but it's hard to trigger a Garbage Collect on a calc with 1.5MB of ROM. :/

So I *finally* figured out a nice reliable way to handle the Stop token. After much thinking and experimentation, I added a section of code to the BASIC parser hook used for Celtic/XLib interception that specifically watches for the Stop token. Because that token causes Doors CS to never regain control (only from Homerun! The App can regain control when run from the Apps menu), it normally crashes the calculator. Therefore, I bjump into the system error handler context with a=%01111111, effectively triggering the nonexistent error number 127. The OS helpfully cleans up all the running programs and hands over command to Doors CS' error handler, which deals with deleting and cleaning up remaining items, then recognizes this special error and silently quits without reporting it. Just to be on the safe side, I use this as one of the cases to bjump(_JForceCmd) from the Homerun Parser Hook, the other being when a program was edited because of a Goto event after execution. When Celtic III / XLib compatibility is disabled, however, it simply uses a much much smaller Parser Hook during BASIC program execution that just looks for Stop, and does all the same things. Huzzah!


Woah. Nice work! That is fantastic news Very Happy
alright...
i managed to recreate the garbage collect crash...

right after the program quits the garbage collection screen appears and is frozen, as in the selecting cursor stays on No and you can't move it.
Idea

that kinda pin points the location of the bug, i think
schoolhacker wrote:
alright...
i managed to recreate the garbage collect crash...

right after the program quits the garbage collection screen appears and is frozen, as in the selecting cursor stays on No and you can't move it.
Idea

that kinda pin points the location of the bug, i think
Indeed it does, now I know what to look for. Your help is much appreciated. Smile

On a more optimistic note, with some pointers from BrandonW's original discussion of 2.53MP's failures with ParserHooks, Op1, and flags, I have instituted and tested a workaround that should preserve proper functionality of all programs using XLib and Celtic commands under 2.53MP without the need for an OS patch. I would greatly appreciate testing on 2.53MP and any other OSes; 2.53MP in particular is giving me a huge number of bugs, unfortunately. Bah TI.
KermMartian wrote:
schoolhacker wrote:
alright...
i managed to recreate the garbage collect crash...

right after the program quits the garbage collection screen appears and is frozen, as in the selecting cursor stays on No and you can't move it.
Idea

that kinda pin points the location of the bug, i think
Indeed it does, now I know what to look for. Your help is much appreciated. Smile

On a more optimistic note, with some pointers from BrandonW's original discussion of 2.53MP's failures with ParserHooks, Op1, and flags, I have instituted and tested a workaround that should preserve proper functionality of all programs using XLib and Celtic commands under 2.53MP without the need for an OS patch. I would greatly appreciate testing on 2.53MP and any other OSes; 2.53MP in particular is giving me a huge number of bugs, unfortunately. Bah TI.

no problem! Smile
i am glad that i can contribute to your project.
Kerm, there are no problems on the Nspire side of town. I'll keep looking though Smile
qazz42 wrote:
Kerm, there are no problems on the Nspire side of town. I'll keep looking though Smile
Excellent, I'm glad to hear it. I'll try not to introduce too many new problems as I work on fixes for old problems. Razz
I have a really strange glitch...I use the oncalc assembler which is name ASSEMBLE. To help keep my files from being lost I added the DoorsCS basic header:


Code:
::DCS
::"0000000000000000
::A
:ZASSEMB1
:ZASSEMB3
:ZASSEMB4
:ZASSEMB5
::


I have a folder on my calc called My Docs which I use for AP programs like MT3 and DocDE7 files. For some reason, DoorsCS6.5 automatically moves ASSEMBLE to the My Docs folder. When I try to move it, it either doesn't work, or ASSEMBLE disappears.
xenonparadox wrote:
I have a really strange glitch...I use the oncalc assembler which is name ASSEMBLE. To help keep my files from being lost I added the DoorsCS basic header:


Code:
::DCS
::"0000000000000000
::A
:ZASSEMB1
:ZASSEMB3
:ZASSEMB4
:ZASSEMB5
::


I have a folder on my calc called My Docs which I use for AP programs like MT3 and DocDE7 files. For some reason, DoorsCS6.5 automatically moves ASSEMBLE to the My Docs folder. When I try to move it, it either doesn't work, or ASSEMBLE disappears.


Wait - DCS7 has a built-in assembler?
No, it's the OTBP Oncalc assembler. It's the only basic program that does this. And also, if you don't call CloseStack when you quit an API program DoorsCS pulls it up again. If you click anything it crashes and if you press clear it exits to the homescreen.
xenonparadox wrote:
No, it's the OTBP Oncalc assembler. It's the only basic program that does this.
What if you create a BASIC program with the exact same header and a similar 8-character name, like ASSEMBLY or something? Does the same thing happen?
xenonparadox wrote:
And also, if you don't call CloseStack when you quit an API program DoorsCS pulls it up again. If you click anything it crashes and if you press clear it exits to the homescreen.
Yeah, I generally assume the programmer was polite enoguh to close the stack. I'll add an extra statement to close it anyway.
Nope, tried it now and it's just ASSEMBLE... Confused

Oh, and the 6.4 beta did the same thing too.
xenonparadox wrote:
Nope, tried it now and it's just ASSEMBLE... Confused

Oh, and the 6.4 beta did the same thing too.
That's exceedingly strange, I can't think of any reason why that would be happening. :S Is it possible that another program is changing its folder? As in, when you first try to move it out to the desktop, does it move, but then later it's back in the folder? Or when you try to move it to the desktop, it refuses from the get-go?
It just refuses to move Sad I never had this problem with 6.2.Here's a list of my programs just in case...


Code:
AA   - source file for OTBP
APIC  - ""
APPAD - ""
ASSEMBLE - OTBP assembler
AZELDA - Axe source file
BB - Axe source file
DOCDE7 - duh
ICONS - hex code for my favorite icons
MEMVIEW - oncalc memory viewer
MT3 - duh
MYINC - include file for OTBP assembler
PB1 - Axe source file
PRGM2HEX - program to hex converter
Paint - paint program
TINC - include file for OTBP
ZASSEMB1  - part of OTBP
ZASSEMB2  - part of OTBP
ZASSEMB3  - part of OTBP
ZASSEMB4  - part of OTBP
ZASSEMB5  - part of OTBP


Oh, in case you possible considered the idea of having a cascading menu in DoorsCS, here would be a good stack...


Code:
Cascade:
   .db X,Y
   .db "Item1",0
   .dw 1             ; 1 means the next items are in a drop down list
   .db "Item2",0
   .dw ptr           ; ptr to routine
   .db "Item3",0
   .dw 2             ; 2 means the next items are in a side menu list
   .db "Sub of item2(1)",0
   .dw ptr           ; ptr to routine
   .db "Sub of item2(2)",0
   .dw ptr           ; ptr to routine
   .db 0              ; end of this part of menu
   .db "Item4",0
   .dw ptr           ; ptr to routine
   .db 0              ; end of this part of menu
   .db 0              ; end of this part of menu


If DoorsCS had hyperlinks, this would be even easier.
I have a idea


Make it so that there are tabfuncs for the start menu!!!!
qazz42 wrote:
I have a idea


Make it so that there are tabfuncs for the start menu!!!!

ehh? why?
it would be better if it works like this:
press the start menu, then use arrow up and arrow down to move the cursor/ selector field instead of an unresponsive tab function Razz
qazz42 wrote:
I have a idea. Make it so that there are tabfuncs for the start menu!!!!
Yeah, it's an interesting idea in a perfect world, but for the sake of my sanity and the size of the free space I have in the app, I'm not going to bother doing it. Smile It seems to me that the DCS menu is used infrequently enough compared with the desktop and Properties menu that it's not the end of the world.
Well I has bug report for you

If you do the on--prgm hook and try to change a option the pousr pretends it is clicking in empty space and reset default does not work either.
qazz42 wrote:
Well I has bug report for you

If you do the on--prgm hook and try to change a option the pousr pretends it is clicking in empty space and reset default does not work either.
I'm afraid I was unable to duplicate this. Was this with the latest 6.5 beta? This was on your Nspire, I presume?
Double Yes


Also a deletion of all appvars reversed this
qazz42 wrote:
Double Yes

Also a deletion of all appvars reversed this
Fascinating. I don't suppose you have a backup of the Appvar? I can only hope the problem stemmed from something else having corrupted it, hopefully something that's not part of DCS.
  
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 3 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