I'll be writing a few ICE programs soon, so here's where I'll put them. Here are my ICE programs so far: (Name, description and link)

SM84CE's ICE Programs

TempCheck CE ICE -- A remake of my TI-BASIC Temperature Checker, now with fullscreen! Smile It's made with ICE (DUH!) and has a few more features, compared to the BASIC version.

VirusCheck CE ICE -- A remake of my TI-BASIC VirusChecker, now with fullscreen! Smile It's made with ICE (DUH!) and has a few more features, compared to the TI-BASIC version.

CC21: Diwali -- My CC21 Entry, thread here. Description: This is a spin-off of the Lights-Out series of games, but currently has a 3x3 board, and no "win" detection. There is a small Easter Egg included to "light up" your day! Instructions are in-game in the Intro screen. I will also be updating this as time goes by, so check back here often!


[url=]PT_ Waker Upper CE[/url] -- This is a port of Michael2_3B's site, https://michael2-3b.github.io/PT_WakerUpper Enough said! Try it out!


Connect-4 ICE: IN PROGRESS -- the famous Connect-4, written in ICE. Dev thread here






I need help on how to use AppVars, When I try to write something to an AppVar, the calc crashes. To ease my recovery, I integrated SRC archiving into the compiled program, just FYI. Here's the code:
EDIT: FIXED, see below

Code:
PROGRAM:AVSRC
[i]APPVAR
det(0
det(5,151 //to add color
sum(0
sum(2,"AVSRC","r",5->SRC
sum(2,"AVSRC","r",5->SRC //for safety
sum(13,1,SRC
sum(3,SRC
sum(1,"SM84CE","w+"->SM
sum(1,"SM84CE","w+"->SM // safety
sum(11,1024,SM
sum(13,1,SM //problem starts here?
sum(1,"SM83CE","w+"->SMB
sum(1,"SM83CE","w+"->SMB
sum(11,64,SMB
sum(4,"APPVAR TEST",11,1,SMB //I'd use lowercase, but I don't know how to adjust the count, or even if this line is written right
sum(0
det(1


If this works, I could make my charge date manager in ICE...


EDIT:
Should have done only one opening of the file

Code:
PROGRAM:AVSRC
[i]APPVAR
det(0
det(5,151 //to add color
sum(0
sum(2,"AVSRC","r",5->SRC
sum(13,1,SRC
sum(3,SRC
sum(1,"SM84CE","w+"->SM
sum(11,1024,SM
sum(13,1,SM
sum(1,"SM83CE","w+"->SMB
sum(11,64,SMB
sum(4,"APPVAR TEST",11,1,SMB //I'd use lowercase, but I don't know how to adjust the count, or even if this line is written right
sum(0
det(1


Now to figure out the count and size of writing lowercase to an appvar...[/b]
SM84CE wrote:
I need help on how to use AppVars, When I try to write something to an AppVar, the calc crashes. To ease my recovery, I integrated SRC archiving into the compiled program, just FYI. Here's the code:


Code:
PROGRAM:AVSRC
[i]APPVAR
det(0
det(5,151 //to add color
sum(0
sum(2,"AVSRC","r",5->SRC
sum(2,"AVSRC","r",5->SRC //for safety
sum(13,1,SRC
sum(3,SRC
sum(1,"SM84CE","w+"->SM
sum(1,"SM84CE","w+"->SM // safety
sum(11,1024,SM
sum(13,1,SM //problem starts here?
sum(1,"SM83CE","w+"->SMB
sum(1,"SM83CE","w+"->SMB
sum(11,64,SMB
sum(4,"APPVAR TEST",11,1,SMB //I'd use lowercase, but I don't know how to adjust the count, or even if this line is written right
sum(0
det(1


If this works, I could make my charge date manager in ICE...

EDIT:
Should have done only one opening of the file

Code:
PROGRAM:AVSRC
[i]APPVAR
det(0
det(5,151 //to add color
sum(0
sum(2,"AVSRC","r",5->SRC
sum(13,1,SRC
sum(3,SRC
sum(1,"SM84CE","w+"->SM
sum(11,1024,SM
sum(13,1,SM
sum(1,"SM83CE","w+"->SMB
sum(11,64,SMB
sum(4,"APPVAR TEST",11,1,SMB //I'd use lowercase, but I don't know how to adjust the count, or even if this line is written right
sum(0
det(1


Now to figure out the count and size of writing lowercase to an appvar...


Well... The way I usually use Appvars is through "sum(7" (PutChar)
Note: Opening a file with w+ creates a new file, overwriting the file you want to open if it exists.
so try this:

Code:
PROGRAM:AVSRC
[i]APPVAR
det(0
det(5,151 //to add color
sum(0
sum(2,"AVSRC","r",5->SRC
sum(13,1,SRC
sum(3,SRC
sum(1,"SM84CE","w+"->SM
Data(1,65,80,80,86,65,82,32,84,69,83,84→L //Decimal Ascii for "APPVAR TEST", in a list to use less code
11→LEN //number of elements to write
0→I
While I<LEN
sum(7,{L+I},SM //write L(I) to current file cursor
I+1→I
End
sum(13,1,SM
sum(0
det(1

Note: You can use any character from 0 to 255 in putchar.
Um. No. You just put in the length of the string (in bytes; remember lowercase letters are 2-byte tokens) in the write command:


Code:
sum(4,"Appvar Test",19,1,SMB


Or just use an ASCII string rather than a TI-ASCII string.
MateoConLechuga wrote:
Um. No. You just put in the length of the string (in bytes; remember lowercase letters are 2-byte tokens) in the write command:


Code:
sum(4,"Appvar Test",19,1,SMB


Or just use an ASCII string rather than a TI-ASCII string.


I would use those, but I don't know what they are and the codes for each... Someone, enlighten me!
I'm trying to make a highlight menu (like MS-DOS ish), but when you go up and down a few times, the "no" option does not highlight, here's the code, if anyone could take a look, that would be great! (yes, this is for TempCheck CE ICE)



Code:
 From TI-Connect
[i]MENU
det(0
sum(0
sum(2,"MENUSRC","r+",5→A
sum(13,1,A
sum(3,A
sum(0
det(5,2
det(20,2
det(21,151
det(22,2
det(74,2,2
det(18,"Check temperature?",22,50
100→Y
det(18,"No",70,125
det(20,224
det(18,"Yes",70,100
det(20,2

Repeat K=15
getKey→K
[i]Output(1,1,Y // for my debug
[i]1=DN,4.UP -- key values
If K=1 and Y≠125
Y+25→Y
det(20,224
det(18,"No",70,125
det(22,224
det(20,2
det(18,"Yes",70,100
det(22,2
End
If K=1 and Y=100
Y+25→Y
det(20,224
det(18,"No",70,125
det(22,224
det(20,2
det(18,"Yes",70,100
det(22,2
End



If K=4 and Y≠100
Y-25→Y
det(20,224
det(18,"Yes",70,100
det(22,224
det(20,2
det(18,"No",70,125
det(20,2
End





End





Pause
sum(0
sum(2,"MENUSRC","r+",5→A
sum(3,A
sum(0
det(1



FIXED IT!!

Code:

FillScreen(2
SetTextBGColor(2
SetTextFGColor(151
SetTextTransparentColor(2
SetTextScale(2,2
PrintStringXY("Ch[|e][|c]k [t][|e]m[p][|e][r][|a][t]|u[r][|e]?",22,50
100->Y
PrintStringXY("No",70,125
SetTextBGColor(224
PrintStringXY("Y[|e][s]",70,100
SetTextBGColor(2

Repeat K=9
   getKey->K
   [i]1=DN,4.UP
   
   If K=1 and Y=100
      Y+25->Y
      SetTextBGColor(224
      PrintStringXY("No",70,125
      SetTextTransparentColor(224
      SetTextBGColor(2
      PrintStringXY("Y[|e][s]",70,100
      SetTextTransparentColor(2
   End
   
   If K=4 and Y=125
      Y-25->Y
      SetTextBGColor(224
      PrintStringXY("Y[|e][s]",70,100
      SetTextTransparentColor(224
      SetTextBGColor(2
      SetTextTransparentColor(2
      PrintStringXY("No",70,125
   End
   
   If Y=100 and K=4
      SetTextBGColor(2
      SetTextTransparentColor(224
      PrintStringXY("No",70,125
      SetTextTransparentColor(2
   End
End

If K=9 and Y=100
   Goto YES
End
If K=9 and Y=125
   Goto NO
End
OK, with all of those features done, I have a few questions:

Look through the XLIB C pallete and give me a suggestion on the Temperature Check progress bar color! (background for the entire screen is #181)

Also, should I decrease "check" time? BASIC program's time is ~20 sec/check @ 4 checks, ICE version will have 4, ~10 sec/check, unless someone wants me to increase or decrease the check time.

Any other feature requests? Just post!

No screens, I'm doing ALL of the development on-calc, I'll try and get screens later.
I think 10 seconds is nice since it shouldn't be too long or too short.

A few color ideas are 227 and 228.

EDIT:

BRAINWAVE!!! SM84CE: You should make it so that it changes depending on the random value. For example, it starts out one color, and if it's supposed to "overheat", the color becomes redder, and vice versa. Tell me if this idea is dumb.
I thought of adding a thermometer sprite, but when I tried rotating it, it only gave me the bottom halr of the rotated sprite
Any help?



Code:
MAIN PROGRAM
[i]SPR

CloseAll
OpenVar("SPRSRC","r+",5->A
SetArchiveStatus(1,A
Close(A
CloseAll

Begin
AsmComp(TEMPSPR
FillScreen(151
Sprite(COLDTEMP,0,0

DefineSprite(45,15)->ROT
Pause
//RotateSpriteHalf(COLDTEMP,ROT
RotateSpriteC(COLDTEMP,ROT //Did not work
Pause
Sprite(ROT,50,50

[i]COLDTEMP

Pause
det(1

OpenVar("SPRSRC","r+",5->A
Close(A
CloseAll



Code:
SPRITE
DefineSprite(15,45,"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5FFFFFFFFFFFFFFFFFFFFFFFFFFB5FFB5FFFFFFFFFFFFFFFFFFFFFFB5FFFFFFB5FFFFFFFFFFFFFFFFFFFFB5FFFFFFB5FFFFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5B5B5FFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5B5B5FFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5B5B5FFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5B5B5FFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5B5B5FFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5B5B5FFFFFFB5FFFFFFFFFFFFFFFFB5FFFFFFFFFFB5FFFFFFFFFFFFFFFFB5E0E0E0E0E0B5FFFFFFFFFFFFFFFFB5E0E0E0E0E0B5FFFFFFFFFFFFFFB5E0E0E0E0E0E0E0B5FFFFFFFFFFB5E0E0E0E0E0E0E0E0E0B5FFFFFFB5E0E0E0E0E0E0E0E0E0E0E0B5FFFFB5E0E0E0E0E0E0E0E0E0E0E0B5FFFFB5E0E0E0E0E0E0E0E0E0E0E0B5FFFFB5E0E0E0E0E0E0E0E0E0E0E0B5FFFFB5E0E0E0E0E0E0E0E0E0E0E0B5FFFFB5E0E0E0E0E0E0E0E0E0E0E0B5FFFFB5E0E0E0E0E0E0E0E0E0E0E0B5FFFFFFB5E0E0E0E0E0E0E0E0E0B5FFFFFFFFFFB5E0E0E0E0E0E0E0B5FFFFFFFFFFFFFFB5B5B5B5B5B5B5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"->COLDTEMP
Did you download the latest ICE? There was an issue with RotateSpriteC( before, it might have been fixed already. Smile
Just re-downloaded/ reinstalled ICE, it still gave the same problem.
After you double check for accidental errors, you might want to reset my calc and try again, if you don't have any important things on it (or backup). If that doesn't work, you should re-install the latest OS and the latest version of ICE.
I should have said this before, the latest version of ICE (in the archives) fixes it. I was the one to confirm this Smile .
YAY!! No resetting and OS-sending mess!
I've gotten to the point where new features are being added to TempCheck CE ICE [TC CE ICE], finals are over Smile , which means I can resume work, I'll probably finish sometime in January, if all goes well.
SM84CE wrote:
I've gotten to the point where new features are being added to TempCheck CE ICE


New features being added as in it's done, but not quite complete?
Yes, and no, I develop each element in it's own subprog, and when I'm happy w/ that segment, I add it to the main program. So far, I'm up to the point where the program tells you if the CPU is too hot or too cold, the randInt seed reset issue (See the ICE Compiler thread for a deeper explanation) is what's stopping me.
PROGRESS UPDATE: Finished TempCheck CE ICE, I'll make a readme and release it on my 16th birthday (1/18/17), so it'll be memorable for me! (and maybe the rest of you, we'll see...
SM84CE: TempCheckCEICE works fine for me. I think it’s your version of ICE. It’s really cool!

EDIT: I did run ICE using the one you gave me, but you didn't add the appvar, so It was still the old version. (technically)
Hmm... maybe I'll try removing the appvar, if not, then a reset All on my calc and CEmu

EDIT: It's the fact that I didn't remove old ICE before, will test on calc, CEmu works.
You need to re-download the last download from the Cemetech Archives, and load both files on to your calculator or emulator, and replace all. It should work. Also, COOL SPRITES!!!Razz
  
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