I am challenging a friend to a competition of making the best pseudo-cell phone program. I would very greatly appreciate it if you all could give me some ideas as to what features I can add, optimization, etc. We *have* agreed to let each other use his resources, and I'm hoping I can get some help here. Very Happy

We are planning to have a third party evaluate us based upon the rubric we have created on Monday, but I'm definitely going to postpone the evaluation until at least Wednesday. Since this is short-notice (we only decided to start this on Friday) and people have lives outside of calculator coding, I'm hoping everybody who can help will help!

Our rubric for each other includes:

  • Size
  • Variables Used
  • Speed/Efficiency
  • Features

Things I could use help with:

  • Optimization
  • Feature Ideas
  • Maybe porting to Axe completely? (I'm sure this will have to be done after the competition due to my complete lack of Axe knowledge, but you people *are* great programmers, so I think that this may be possible. Smile) (By this, I DON'T mean I will sit back and ask people to re-code it for me; I mean that I will try to learn Axe with your assistance and I will re-code it myself.)

Programs I have so far:

All links have been moved to:http://www.cemetech.net/forum/viewtopic.php?p=145754#145754

Please help me with this project if you can! I need to use everything I can to defeat my friend! Very Happy
Wow, this is in super-depth, very nice first post! What Axe coder wants to jump in here and give the fellow a hand? Would it be correct to say that fixing the dialing program would be an excellent start, TechnoMonkey?
Quick error I found in the dialing program: you don't set Q to 0 before starting the "isNumber?" loop. I'll keep looking.
_player1537 wrote:
Quick error I found in the dialing program: you don't set Q to 0 before starting the "isNumber?" loop. I'll keep looking.
Very nice, that could very well be the cause of his problem based on the symptoms that he reported. Good cathc.
_player1537 wrote:
Quick error I found in the dialing program: you don't set Q to 0 before starting the "isNumber?" loop. I'll keep looking.

I can't believe I missed that! Thank you, _player! That was indeed my issue. Now I need to update it on SourceCoder. Smile

EDIT: Extraneous "End" tokens have been removed as well.
Woo, excellent! So how is it working now? At this point are you adding features in a smooth normal dev cycle, or are you still stuck on a few glitches and difficulties?
Yay, glad I could help Smile. I second Kerm's question Smile
KermMartian wrote:
Woo, excellent! So how is it working now? At this point are you adding features in a smooth normal dev cycle, or are you still stuck on a few glitches and difficulties?

I'm still trying to find a good way to eliminate the Gotos from within the If-Then statements and loops. Sad
technomonkey76 wrote:
KermMartian wrote:
Woo, excellent! So how is it working now? At this point are you adding features in a smooth normal dev cycle, or are you still stuck on a few glitches and difficulties?

I'm still trying to find a good way to eliminate the Gotos from within the If-Then statements and loops. Sad
Wait, having not looked at the code you linked, I assumed this was Axe, not BASIC. If it's BASIC, I can easily help you fix those.
KermMartian wrote:
technomonkey76 wrote:
KermMartian wrote:
Woo, excellent! So how is it working now? At this point are you adding features in a smooth normal dev cycle, or are you still stuck on a few glitches and difficulties?

I'm still trying to find a good way to eliminate the Gotos from within the If-Then statements and loops. Sad
Wait, having not looked at the code you linked, I assumed this was Axe, not BASIC. If it's BASIC, I can easily help you fix those.

Smile How do you suggest fixing them? What, in your opinion, is the best way to do so?
VZW
KermMartian has just edited this program. The source code now reads:
BASIC Code wrote:
::DCS6
:"03E2041757F256372632063777F213E726B2441776B204178EB28C17AEB253E7
::A
:VZWCALL
:VZWHSCRN
:VZWMSCRN
:VZWMENU
::
:ClrDraw
:AxesOff
:FnOff
:PlotsOff
:Lbl A
:ClrDraw
:Asm(prgmVZWHSCRN
:DispGraph
:Repeat K=0
:getKey→K:End
:If K=45:Then
:Disp ""
:Return:End
:If K=11:Then
:ClrHome
:Pause "Wait for v2.1
:End
:If K=13
:prgmVZWMENU
:If K=15:Then
:ClrHome
:Pause "Wait for v2.1
:End
:If K=41
:prgmVZWCALL
:Goto A
Generated by SourceCoder, © 2005-2011 Cemetech
This is an automatic post from SourceCoder 2. Report abuse to admin@cemetech.net . You can disable these posts by unchecking the "Post on Update" box in the file's permissions.
This should eliminate the memory leaks from the main program, VZW. As far as the automatic SourceCoder posting goes, I had to write the name of the program ("VZW") into the proper field in the editor; I must have broken something.
SourceCoder2 wrote:
VZW
KermMartian has just edited this program. The source code now reads:
BASIC Code wrote:
::DCS6
:"03E2041757F256372632063777F213E726B2441776B204178EB28C17AEB253E7
::A
:VZWCALL
:VZWHSCRN
:VZWMSCRN
:VZWMENU
::
:ClrDraw
:AxesOff
:FnOff
:PlotsOff
:Lbl A
:ClrDraw
:Asm(prgmVZWHSCRN
:DispGraph
:Repeat K=0
:getKey→K:End
:If K=45:Then
:Disp ""
:Return:End
:If K=11:Then
:ClrHome
:Pause "Wait for v2.1
:End
:If K=13
:prgmVZWMENU
:If K=15:Then
:ClrHome
:Pause "Wait for v2.1
:End
:If K=41
:prgmVZWCALL
:Goto A
Generated by SourceCoder, © 2005-2011 Cemetech
This is an automatic post from SourceCoder 2. Report abuse to admin@cemetech.net . You can disable these posts by unchecking the "Post on Update" box in the file's permissions.

This exact code caused graphical issues and the program would no longer accept keypresses.

To fix this, I changed:

Code:
:Repeat K=0
:getKey→K:End

into

Code:
:DelVar K
:While K=0
:getKey→K:End
No, change it to Repeat K:getKey->K:End. Repeat blah repeats the loop until blah is true.
KermMartian wrote:
No, change it to Repeat K:getKey->K:End. Repeat blah repeats the loop until blah is true.

Okay, that worked. You kept the "=0" part and I wasn't familiar with Repeat loops.
So, as some of you might know by reading the other thread, the conversion of this to Axe has begun. I was wondering if there was a decent way to run a TI-BASIC program from within an Axe program. I would like to keep my timer functions for VZWCALL. I am aware that there is a way for assembly, but I'm not sure regarding BASIC.
technomonkey76 wrote:
So, as some of you might know by reading the other thread, the conversion of this to Axe has begun. I was wondering if there was a decent way to run a TI-BASIC program from within an Axe program. I would like to keep my timer functions for VZWCALL. I am aware that there is a way for assembly, but I'm not sure regarding BASIC.
Any particular reason you're trying to do pieces of this with Axe instead of sticking with BASIC? You could very easily do all of this with Hybrid BASIC with the help of Doors CS.

Code:
[05->Str1
"BLAH
[00

Str1
Asm(E7CD3141
Return
That would run programBLAH, assuming it is an unlocked, Basic program. If it is ASM or locked, you use [06] at the beginning instead of [05].

Edit: BTW, the ASM section is really: rst 20h \ call RunProg. RunProg is something specific to DCS, so you will have to compile as a DCS program.
Very good to know, thanks for that! One thing to be aware of is that depending on what the program being called does, it's quite likely that lots of safeRAM areas and such will be utterly trashed.
Ah, good point; I hadn't thought of that. I know you said that this wasn't your goal right now, but if you are going to do this so you can split programs up into multiple files, there is a better way to do so. I forget what the command is because it is a post-.3 command, but there is something that will include another source file's code inline with your current code. So you could have a source program that has the declarations of all of your data, and one for all of your main code, and one for your methods, as an example.
  
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 2
» 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