` ``ClrHome Input "(",A ClrHome Input "("+toString(A)+", ",B ClrHome Disp "("+toString(A)+", "+toString(B)+")" Input "(",C ClrHome Disp "("+toString(A)+", "+toString(B)+")" Input "("+toString(C)+", ",D ClrHome Disp "("+toString(A)+", "+toString(B)+")" Disp "("+toString(C)+", "+toString(D)+")" If A=C Then Disp "ILLEGAL INPUT" Disp "RESTARTING..." Input "",Z DelVar Z prgmLINEEQU End {A,C→L₁ {B,D→L₂ LinReg(ax+b) Disp "Y="+Y₁`

So basically, I have assigned an input into A, B, C, and D. I put 1 into A and B, and 2 into C and D, and on the lines

{A,C→L₁

{B,D→L₂

It gives me a data type error (storing matrix to list) on the variables. After trying different ideas for 30 minutes with the people on my discord server, including:

- Close curly bracket (no change)
- Using expr() incase they were strings (data type there, so it is a value)
- A[1] instead of A (syntax error on the brackets)
- [A](1,1) (same thing)
- A(1,1→A (again, syntax)

We're out of ideas so I'm turning here for help. Any ideas?

]]>https://pasteboard.co/Ixfwf2P.png ]]>

EDIT: The only way to boot it normally is by using the [CLEAR]+[ON] trick. Resetting anything crashes the calculator.

EDIT 2: Am I able to use TI-Connect or TiLP to back up the files without completely resetting the flash chip?

EDIT 3: You can still see that half the archive is taken, but there must be some file that is corrupted that it is preventing the parsing.

https://pasteboard.co/IwX7s3r.png

In Daleks you're The Doctor, you move with the numpad as Daleks chase you. The Store key acts as a repeatable dangerous teleport using the "Tardis," and the Ln key is the "Sonic Screwdriver," killing enemy Daleks.

Game code:

https://pastebin.com/TMu6pyiB

I've also TASed programming the game and then playing it as an experimental project, I have a newer version not yet on YouTube that's closer to the pastebin code and saves 50 seconds. I discovered the 1.02 OS bug due to the OS used for TASing in BizHawk.

https://youtu.be/JH9E_SoiYQs

Ok im out

]]>` ``If min(∟T=B:Goto Q`

https://pasteboard.co/IupqfgD.jpg

How can I find this file?

]]>` ``If sub(Str1,D,1)!="0" and sub(Str1,D,1!".`

I have similar errors each pointing towards the radial sign as the problem. The code I get from the plaintext shows a radial sign, yet it doesn't work on the calculator. Is my plaintext code referring to a different symbol on the calculator, or are there different underlying issues? I've had issues with the radial sign on previous projects in the past, to a similar extent. (By plaintext I mean a .txt file I have on my laptop that I print.)

I could really use some help with this, thank you.

]]>Jeffitus (from over at Cemetech) is working on cataloging TI-BASIC routines on **GitHub**. These are routines that are useful or optimized and might be a good fit with this community. If you spy an optimization, definitely provide it. If you think a routine belongs there, add it! And if you think a routine belongs here, add it to the routines page!

kg583, from TI|BD and Cemetech, put up their **TI Number Theory** (TINT) project. It includes code for a whole bunch of primality tests, integer factoring, and a bunch of other number theory related functions. Looks like calculators aren't *just* for games anymore :P

**EDIT:** Ah, look a that glorious typo in the title.

EDIT: Did you also know that if you were to type `{0,0,0:Fill(0,Ans` gives you a RESERVED error?

Did you know that by typing in a single : on the homescreen and pressing enter gives you a "Done" message?

` ``ClrHome 1→X:Ans→Y 16→A:8→B Repeat K=45 or max({X=A}{Y=B Output(Y,X,"X Repeat Ans randInt(0,1 A+(Ans)-(not(Ans))+16(not(A))-16(A=16→A randInt(0,1 B+(Ans)-(not(Ans))+8(notB))-8(B=9→B Output(Ans,A,"* getKey End:Ans→K Output(Y,X," ;1 space max(1,min(16,X+(Ans=26)-(Ans=24→X max(1,min(8,Y+(K=34)-(K=25→Y End:ClrHome "You "+sub("LoseWin!"1+4((X=A)(Y=B)),4`

This Code has not been tested for errors/bugs. ]]>

I am totally new to IT, I know that the possibilities are great, but I also know that the basic documentation is really not detailed enough.

English is not my native language, I hope I will still be able to understand and contribute when I am able to.

Cheers, TroOops.

]]>First, how do we shuffle L1 in BASIC?

` ``rand(dim(L1->L2 SortA(L2,L1`

This is a super clever algorithm, but slow as heck as the lists get bigger. Plus, it uses an extra list of the same size, wasting precious RAM. So how does the Fisher-Yates algorithm work? You start at the last element. Randomly choose an element up to and including the current element and swap them. Now move down one element and repeat (so now the last element is off limits, then the last two, et cetera). Repeat this until there is one element left.

This is easy to perform in-place, and it performs n-1 swaps, making it significantly faster than the BASIC algorithm above. In fact, let's implement it in BASIC:

` ``dim(L1->N For(K,N,2,-1 randInt(1,K->A L1(K->B L1(A->L1(K B->L1(A End`

This takes approximately 37.5 seconds to sort a 999 element list. I don't even have the RAM needed to test the regular method, but extrapolating, it would take the "normal" method approximately 73 seconds for 999 elements. So basically, the Fisher-Yates algorithm is actually faster even in TI-BASIC (after about 400 elements, though).

So without further ado, the assembly code!

` ``;Randomizes a TI-list in Ans _RclAns= 4AD7h seed1 = $80F8 seed2 = $80FC seed1_0=seed1 seed1_1=seed1+2 seed2_0=seed2 seed2_1=seed2+2 #define bcall(x) rst 28h \ .dw x .db $BB,$6D .org $9D95 ; Put it into 15MHz mode if possible! in a,(2) add a,a sbc a,a out (20h),a ; Initialize the random seed ld hl,seed1 ld b,7 ld a,r _: xor (hl) ld (hl),a inc hl djnz -_ or 99 or (hl) ld (hl),a ; Locate Ans, verify that it is a list or complex list bcall(_RclAns) ex de,hl ld c,(hl) inc hl ld b,(hl) inc hl ld (list_base),hl dec a jr z,+_ sub 12 ret nz dec a _: ;A is 0 if a real list, -1 if complex ;HL points to the first element ;BC is the number of elements and $29 ;make it either NOP or ADD HL,HL ld (get_complex_element),a sub 29h sbc a,a ;FF if real, 00 if complex cpl and 9 add a,9 ld (element_size),a shuffle_loop: push bc push bc call rand pop bc ex de,hl call mul16 dec bc ;swap elements DE and BC call get_element push hl ld d,b ld e,c call get_element pop de call swap_elements pop bc dec bc ld a,c dec a jr nz,shuffle_loop inc b dec b jr nz,shuffle_loop ret swap_elements: ;HL and DE point to the elements element_size = $+2 ld bc,255 _: ld a,(de) ldi dec hl ld (hl),a inc hl djnz -_ ret get_element: ;Input: ; DE is the element to locate ;Output: ; HL points to the element ld l,e ld h,d add hl,hl add hl,hl add hl,hl add hl,de get_complex_element: nop list_base = $+1 ld de,0 add hl,de ret rand: ;Tested and passes all CAcert tests ;Uses a very simple 32-bit LCG and 32-bit LFSR ;it has a period of 18,446,744,069,414,584,320 ;roughly 18.4 quintillion. ;LFSR taps: 0,2,6,7 = 11000101 ;291cc ;Thanks to Runer112 for his help on optimizing the LCG and suggesting to try the much simpler LCG. On their own, the two are terrible, but together they are great. ld hl,(seed1) ld de,(seed1+2) ld b,h ld c,l add hl,hl \ rl e \ rl d add hl,hl \ rl e \ rl d inc l add hl,bc ld (seed1_0),hl ld hl,(seed1_1) adc hl,de ld (seed1_1),hl ex de,hl ;;lfsr ld hl,(seed2) ld bc,(seed2+2) add hl,hl \ rl c \ rl b ld (seed2_1),bc sbc a,a and %11000101 xor l ld l,a ld (seed2_0),hl ex de,hl add hl,bc ret mul16: ;BC*DE ld hl,0 ld a,16 mul16_loop: add hl,hl rl e rl d jr nc,+_ add hl,bc jr nc,+_ inc de _: dec a jr nz,mul16_loop ret`

It isn't perfect, but it is pretty good and importantly, it is fast! The biggest problem is in the random number generator, but even that is still pretty good for this application. ]]>

]]>The following errors were detected in your registration. Please correct them to continue:

You did not answer the verification questions correctly.

- What are your plans for the rest of summer?
- How are you going to prepare for school?
- What grade are you heading into?
- How was this past summer break?

If you're in college our out of school, that's fine. You can answer these differently.

*My responses:*

- My plans are to go to Fat Cats on July 4th, finish Stranger Things 3, get my learners permit (driving), go a family reunion, go on the priests quorum last backpacking trip, program a lot, , do yard work, help with others, and prepare for school.
- Go to Walmart and buy the appropriate materials. Buy some new folders, some basic materials, a TI-84 Plus CE, and re-adjust my sleeping schedule for school.
- I'm currently heading into my Junior year. I'm going to Cedar Valley High School in Eagle Mountain (http://cvhs.alpineschools.org)
- Did some more fun things with my family this summer, had pneumonia for a few weeks, went to a fair, Trek, and a backpacking trip. I wish my family could have done more fun things this summer however.

prgmA3D

` ``Input "ROTATION ANGLE:",theta prgmthetaSSETUP prgmthetaPOINTS Repeat K=16 ClrDraw "DRAW SCREEN" [C]->[D] dim([A]) Ans(2) For(A,1,Ans-1) augment([D],[C]->[D] End [J]*([A]-[D])->[B] dim([B]) Ans(2) {1,4}->L1 prgmthetaDRWPT {1,2}->L1 prgmthetaDRWPT {2,3}->L1 prgmthetaDRWPT {3,4}->L1 prgmthetaDRWPT {1,5}->L1 prgmthetaDRWPT {2,6}->L1 prgmthetaDRWPT {4,8}->L1 prgmthetaDRWPT {3,7}->L1 prgmthetaDRWPT {5,6}->L1 prgmthetaDRWPT {6,7}->L1 prgmthetaDRWPT {7,8}->L1 prgmthetaDRWPT {8,5}->L1 prgmthetaDRWPT Repeat K getKey->K End If K=21 .5+[C](3,1)->[C](3,1) If K=31 ~.5+[C](3,1)->[C](3,1) If K=82 .5+[C](1,1)->[C](1,1) If K=84 ~.5+[C](1,1)->[C](1,1) If K=73 ~.5+[C](2,1)->[C](2,1) If K=93 .5+[C](2,1)->[C](2,1) If K=26 [J]*[[1,0,0][0,cos(theta),~sin(theta)][0,sin(theta),cos(theta)]]->[J] If K=24 [J]*[[1,0,0][0,cos(~theta),~sin(~theta)][0,sin(~theta),cos(~theta)]]->[J] If K=25 [J]*[[cos(theta),0,~sin(theta)][0,1,0][sin(theta),0,cos(theta)]]->[J] If K=34 [J]*[[cos(~theta),0,~sin(~theta)][0,1,0][sin(~theta),0,cos(~theta)]]->[J] If K=22 [J]*[[cos(theta),~sin(theta),0][sin(theta),cos(theta),0][0,0,1]]->[J] If K=23 [J]*[[cos(~theta),~sin(~theta),0][sin(~theta),cos(~theta),0][0,0,1]]->[J] End`

**Subprograms**

prgmthetaDRWPT

` ``Line(([B](1,L1(1)))S/([B](3,L1(1))),([B](2,L1(1)))S/([B](3,L1(1))),([B](1,L1(2)))S/([B](3,L1(2))),([B](2,L1(2)))S/([B](3,L1(2)))`

prgmthetaPOINTS

` ``"POINTS [[1,~1,~1,1,1,~1,~1,1,0][~1,~1,1,1,~1,~1,1,1,0][4,4,4,4,6,6,6,6,0]]->[A] "CAM ROTATION [[1,0,0][0,1,0][0,0,1]]->[J] "CAM TRANS [[0][0][0]]->[C] "SCREEN DIST 3->S`

prgmthetaSSETUP

` ``ClrDraw CoordOff RectGC GridOff AxesOff LabelOff ExprOff ZSquare`

For the input rotation angle, use a small angle such as 11.25. Also make sure you are in degree mode.

You can put the program into Chemetech's sourcecoder 3 and download it to try it out.

Info:

the camera starts out pointing straight up along the z axis, at the cube which floats above it.

moves:

2nd +z

alpha -z

8 +y

2 -y

4 -x

6 +x

mode - rot z

del +rot z

up +rot y

down -rot y

left -rot x

right +rot x

` ``(First Check) If pxl-Test(B,Ans-H) Then Text(27,34,"SCORE: ",θ Return End (2nd Check) If pxl-Test(Ans-V,A:Then Text(27,34,"SCORE: ",θ Return End The check to see if the user won: If θ=95:Then Text(27,34,"WIN. Return End`

From what I observed in the code, there are 9 If checks inside the program. I do know that having Labels inside Loops don't cause memory leaks, So, I put the Goto's after the `If H:Then` and the `If pxl-Test(B,A:Then` checks, and the quit label right before the last 3rd End at the end of the program. By doing all of this, it cut down speed a bit. Is there an alternative solution to this to make it faster with no memory leaks?

At the beginning of the code, I put an extra variable D and with the If checks to end the game, I set the variable D to 1 in the checks and at the end of the 2 main loops and If D is 1, it goes to the ending loop.

]]>So now, I'm really upset that the game I've been working on is gone. I've been working on this game for 6 days, and now all my planning and programming I did for this project I was excited to share with all of you, for nothing. Is there any way at all to recover some group I backed up in the VAT? I haven't garbage collected and I'm not even going to touch my calculator until I try to sort this dilemma out. I'd be really appreciated if any of you can spend the time to find a solution for this problem.

]]>` ``If dim(⌊X)>0:Then For(I,1,dim(⌊X)) Output(⌊Y(I),⌊X(I)," ") End For(I,1,dim(⌊X)) If ⌊D(I)=0:Then ⌊X(I)+1→⌊X(I) Else ⌊X(I)-1→⌊X(I) End For(I,1,dim(⌊X)) 0→T ⌊X(I)→G ⌊Y(I)→H prgmPOSITION If ⌊D(I)=0:Then If R=1:Then If dim(⌊X)=I:Then (dim(⌊D)-1)→dim(⌊D) (dim(⌊T)-1)→dim(⌊T) (dim(⌊X)-1)→dim(⌊X) (dim(⌊Y)-1)→dim(⌊Y) 1→T End If I=1 and T=0:Then seq(⌊D(θ),θ,2,dim(⌊D))→⌊D seq(⌊T(θ),θ,2,dim(⌊T))→⌊T seq(⌊X(θ),θ,2,dim(⌊X))→⌊X seq(⌊Y(θ),θ,2,dim(⌊Y))→⌊Y 1→T End If T=0:Then augment(seq(⌊D(θ),θ,1,(I-1)),seq(⌊D(θ),θ,(I+1),dim(⌊D)))→⌊D augment(seq(⌊T(θ),θ,1,(I-1)),seq(⌊T(θ),θ,(I+1),dim(⌊T)))→⌊T augment(seq(⌊X(θ),θ,1,(I-1)),seq(⌊X(θ),θ,(I+1),dim(⌊X)))→⌊X augment(seq(⌊Y(θ),θ,1,(I-1)),seq(⌊Y(θ),θ,(I+1),dim(⌊Y)))→⌊Y End End Else If L=1:Then If dim(⌊X)=I:Then (dim(⌊D)-1)→dim(⌊D) (dim(⌊T)-1)→dim(⌊T) (dim(⌊X)-1)→dim(⌊X) (dim(⌊Y)-1)→dim(⌊Y) 1→T End If I=1 and T=0:Then seq(⌊D(θ),θ,2,dim(⌊D))→⌊D seq(⌊T(θ),θ,2,dim(⌊T))→⌊T seq(⌊X(θ),θ,2,dim(⌊X))→⌊X seq(⌊Y(θ),θ,2,dim(⌊Y))→⌊Y 1→T End If T=0:Then augment(seq(⌊D(θ),θ,1,(I-1)),seq(⌊D(θ),θ,(I+1),dim(⌊D)))→⌊D augment(seq(⌊T(θ),θ,1,(I-1)),seq(⌊T(θ),θ,(I+1),dim(⌊T)))→⌊T augment(seq(⌊X(θ),θ,1,(I-1)),seq(⌊X(θ),θ,(I+1),dim(⌊X)))→⌊X augment(seq(⌊Y(θ),θ,1,(I-1)),seq(⌊Y(θ),θ,(I+1),dim(⌊Y)))→⌊Y End End End End End For(I,1,dim(⌊X)) Output(⌊Y(I),(⌊X(I)-O),"-") End End`

position

` ``If G≠1:Then [A](H,(G-1+O))→L Else 1→L End If G≠20:Then [A](H,(G+1+O))→R Else 1→R End If H≠1:Then [A]((H-1),(G+O))→U Else 1→U End If H≠10:Then [A]((H+1),(G+O))→D Else 0→D End`

gamehud

` ``For(C,21,26) For(B,1,10) Output(B,C,"*") End End`

gametext

` ``0→Q 1→X 1→S Lbl B 0→dim(⌊X) 0→dim(⌊Y) 0→dim(⌊D) 0→dim(⌊T) 0→O 1→B 20→U Lbl A ClrHome For(θ,1,10) For(Q,B,U) If [A](θ,Q)=1 Output(θ,(Q-O),"=") If [A](θ,Q)=2 Output(θ,(Q-O),"Y") End End prgmGAMEHUD 9→Y Repeat 0=1 X→G Y→H prgmPOSITION getKey→K If K=24 and L≠1 Then Output(Y,X," ") X-1→X 1→P End If K=26 and R≠1 Then Output(Y,X," ") X+1→X 0→P End F-1→F If K=25 and D=1:Then Output(Y,X," ") Y-1→Y 3→F End X→G Y→H prgmPOSITION If D=0 and F≤0:Then Output(Y,X," ") Y+1→Y End If K=21:Then X→⌊X(dim(⌊X)+1) Y→⌊Y(dim(⌊Y)+1) 1→⌊T(dim(⌊T)+1) P→⌊D(dim(⌊D)+1) End If K=24 and X=1 and S=2:Then 20→X 1→S Goto B End Output(Y,X,"X") If K=26 and X=20 and S=1:Then 2→S 21→B 40→U 20→O 1→X Goto A End prgmGAMEBLET End`

I have parentheses for now for clarity, but after development. other optimizations are helpful though. ]]>

EDIT: I did find a minimum limit; March 1st, 0.

]]>8→X

4→Y

Output(X,Y,"0

getKey→A

While 1

If A=25

Then

X-1→X

ClrHome

If X=1

Then 2→X

If A=34

Then

X+1→X

If X+8

ClrHome

Then

7→X

If A=24

Then

Y-1→Y

ClrHome

If Y=1

Then

2→Y

If A=26

Then

Y+1→Y

ClrHome

If Y=16

Then

15→Y

End

End

End

End

End

End

End

End

End

` ``ClrHome {1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,-1,-1,1,-1,-1,-1,-1,1,-1,-1→L₁ 16.5→Xmax -Ans→Xmin 10.25→Ymax -Ans→Ymin ClrDraw GridOff AxesOff PlotsOff FnOff 0→θ Repeat getKey=45 startTmr→W cos(θ→P sin(θ [[P²+Ans³,-PAns,PAns²-PAns][PAns-PAns²,P²,-P²-Ans²][PAns,Ans,P²→[C] For(A,1,8 3A [C][[L₁(Ans-2)][L₁(Ans-1)][L₁(Ans→[B] 20/(4-Ans(3,1→C Ans[B](2,1→L₆(A C[B](1,1→L₅(A End ClrDraw For(A,1,4 1+remainder(A,4→U Line(L₅(A),L₆(A),L₅(Ans),L₆(Ans),BLACK,1 A+4→V U+4 Line(L₅(V),L₆(V),L₅(Ans),L₆(Ans),BLACK,1 Line(L₅(A),L₆(A),L₅(V),L₆(V),BLACK,1 End θ+π/16→θ End ClrDraw ClrHome`

There's also another thing… a 4D HyperCube simulation, just… if anyone's interested…

` ``ClrHome {1,1,1,1,-1,1,1,1,-1,-1,1,1,1,-1,1,1,1,1,-1,1,-1,1,-1,1,-1,-1,-1,1,1,-1,-1,1,1,1,1,-1,-1,1,1,-1,-1,-1,1,-1,1,-1,1,-1,1,1,-1,-1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1→L₁ -π/3→θ cos(Ans→D sin(θ→E 16.5→Xmax -Ans→Xmin 10.25→Ymax -Ans→Ymin ClrDraw GridOff AxesOff PlotsOff FnOff 0→θ Repeat getKey=45 startTmr→W cos(θ→P sin(θ [[P,-Ans,0,0][DAns,DP,-EP,EAns][EAns,EP,DP,-DAns][0,0,Ans,P→[C] For(A,1,16 4A [C][[L₁(Ans-3)][L₁(Ans-2)][L₁(Ans-1)][L₁(Ans→[B] 60/(4-Ans(4,1))/(4-Ans(3,1→C Ans[B](2,1→L₆(A C[B](1,1→L₅(A End ClrDraw For(B,0,8,8 For(A,1,4 A+B→V Ans+4 Line(L₅(V),L₆(V),L₅(Ans),L₆(Ans),BLACK,1 B+1+remainder(A,4→U V+4→V U+4 Line(L₅(V),L₆(V),L₅(Ans),L₆(Ans),BLACK,1 End End For(A,1,8 A+8 Line(L₅(A),L₆(A),L₅(Ans),L₆(Ans),BLACK,1 End θ+π/16→θ End ClrDraw ClrHome`

Thanks!

]]>Here is the TI-84 Plus version:

` ``ClrHome While 1 Input "",X Disp 4 End`

For the CE, you can add a line of dots to replicate the dotted line between each entry, although it doesn't look perfect.

Feel free to change the answer that the program displays. I personally like doing a random number, so that they don't catch on as quickly. I hope you like this silly program I made!

]]>So, in the past 6 months, my doctor has been giving me check-ups and all that, and she started to notice a condition I was starting to develop: Scoliosis. So, over time, it has gotten worse and worse. And she said that it's bad enough that I go in for surgery in about 12 days from now to get my back fixed. I've never really had this type of surgery before (the type I had was oral mouth, teeth removal and adjustments), and to be honest… I'm horrified. I don't know what's going to happen to me. I just hope that everything goes well and they don't screw this up. So, I'm not completely sure if I will be active or not on here, I'm sure I'll do nothing than playing Animal Crossing: New Leaf and Steel Diver: Sub Wars for the duration of my stay in the hospital. I'll lose about half my summer due to this; which I will be sad about, but this will be helpful so I'm not one of those igor-things from Halloween shows. But I do have some good things about this. You get a big awesome scar on my back to show off to others! You also get a load of gifts from people that care about you. You get to spend time with parents and family more. You also get a free pass to skip out on chores and responsibilities for a while. So I hope things go okay, I'm very scared of this. Is there anything I should know before this event that happens? I need all the advice I can get from anyone who had surgery in the past. Hope you all have a wonderful evening. :)

]]>I never put in 0 as an input in Q.

(TI-84+)

Input "x₁=",V

Input "σ₁=",U

Input "n₁=",T

Input "x₂=",S

Input "σ₂=",R

Input "n₂=",Q

Input "c=",P

invNorm(P,0,1)→W

W√((U²/T)+(R²/Q))→E

Disp V-S-E," <µ₁-µ₂<",V-S+E

Stop

(the x's are x bars)

]]>Some of these just take me to this link: http://tibasicdev.wikidot.com/archives

]]>` ``Text(5,58,"2[n][|d] TO DIG"`

what is the [n] and the [|d] i have a feeling they will come up again so what do i put for them?

]]>Overall, this program is more decent than BasicOS. Manager is simpler than BasicOS, more professional, a better UI, and more user-friendly. I'd give this a 8.12/10 rating. Some things I don't like about this program is that the speed isn't the fastest of them all. The main menu with the standard functions display can be kind of slow when loading. Another thing about this is that you have to select whether a program is BASIC or z80 assembly. I see that it is kind of hard to determine if a program is BASIC or not, so I'll put that disadvantage to the side for now. Thank you for uploading this program, this could be a help to other people :)

Some suggestions I do have for this program:

- Select a different method to parse for programs (All types, z80 assembly, Ion, Axe, MirageOS, etc.).
- Decrease in memory size. The size of the program is almost 8kB.
- Run most programs automatically without choosing whether it is BASIC or z80 Assembly.
- Prevent un-locking locked assembly programs to prevent them from being volatile.
- Add a small battery check icon. Not a menu to tell the user if it is low or not, but just show the level without it getting in the way.

If you or other users could add this, this would be terrific and useful.

I'm SO sorry for the huge post, I didn't realize that I posted that much. Hope this doesn't get deleted or removed… that would cause a lot of anger to me xD

]]>I have TI connect on my Windows10 computer.

So program copied on the harddisk, but how to print this on paper?

Regards

HermanD ]]>

A prisoner is told "If you tell a lie we will hang you; if you tell the truth we will shoot you." What can he say to save himself? ]]>

I guess there are a few things I am asking:

How should I go about making a usable raycasting program? (Examples of code please). How can I optimize programs to make them as fast as possible?

Below are the three codes I used to try to do raycasting, 2 made by iPhoenix and one made by Vaelus. I have been working on my own but i am fairly busy with school and

so it is slow.

` ``AxesOff 4→Xmin 24*4+3→Xmax -1→Ymin 1→Ymax 1.5→S 1.5→T dim([A])→L₁ L₁(1)→H L₁(2)→W seq((I-12.5)*4°+45°,I,1,24)→L₁ 1→R While R For(I,1,24) 0→C S→U T→V 0→D While C=0 and 1≤int(U) and int(U)≤W and 1≤int(V) and int(V)≤H L₁(I)→A If A>0°:Then If A>90°:Then -int(-U-1)→P int(V+1)→Q Else int(U+1)→P int(V+1)→Q End Else If A>-90°:Then int(U+1)→P -int(-V-1)→Q Else -int(-U-1)→P -int(-V-1)→Q End End If abs((P-U)/cos(A))<abs((Q-V)/sin(A)):Then D+abs((P-U)/cos(A))→D V+(P-U)*tan(A)→V P→U Else D+abs((Q-V)/sin(A))→D U+(Q-V)/tan(A)→U Q→V End If int(U)≥1 and int(U)≤W and int(V)≥1 and int(V)≤H:Then If [A](int(U),int(V)) 1→C End If -int(-U+1)≥1 and -int(-U+1)≤W and -int(-V+1)≥1 and -int(-V+1)≤H:Then If [A](-int(-U+1),-int(-V+1)) 1→C End End I*4→N Line(N,1,N,-1,0) Line(N+1,1,N+1,-1,0) Line(N+2,1,N+2,-1,0) Line(N+3,1,N+3,-1,0) If C:Then tan⁻¹(([A](int(U),int(V))+[A](-int(-U+1),-int(-V+1)))/D)/32°→Z Line(N,Z,N,-Z) Line(N+1,Z,N+1,-Z) Line(N+2,Z,N+2,-Z) Line(N+3,Z,N+3,-Z) End End getKey→K (L₁(12)+L₁(13))/2→F If K=25:Then S+0.1*cos(F)→S T+0.1*sin(F)→T End If K=34:Then S-0.1*cos(F)→S T-0.1*sin(F)→T End If K=24:Then L₁+2°→L₁ End If K=26:Then L₁-2°→L₁ End If K=45 0→R End`

` ``Degree 0→Xmin {BLACK,DARKGRAY,GRAY,MEDGRAY,LTGRAY,WHITE,WHITE→L₁ 70→Xmax -20→Ymin 20→Ymax 90→θ 310→R 119→S 219→T For(A,1,51,-1 For(B,1,100,50 Pxl-On(163-A,263-B,GRAY Pxl-On(163-B,263-A,GRAY Pxl-On(164-A,264-B,GRAY Pxl-On(110+A,210+B,MEDGRAY Pxl-On(110+B,210+A,MEDGRAY Pxl-On(109+B,209+A,MEDGRAY Pxl-On(109+A,209+B,MEDGRAY End End For(A,1,10 For(B,1,10 If [A](A,B Then For(C,1,5 For(D,1,5 Pxl-On(110+(5A-4+C),210+(5B-4+D),BLACK End End End End End Repeat Ans For(A,6,13.5,.45 Line(Xmin,A,Xmax,A,WHITE End DelVar N Pxl-Off(S,T For(A,70-R,1-R,-1 N+1→N DelVar C cos(A→P sin(A→Q Repeat K=45 or C>20 C+1→C pxl-Test(int(S+CP),int(T+CQ End If C<20:Then int(C/3→V int(40/C)/2→W If W>4 4→W For(B,-W,W For(D,1,2 Pt-On(N,B,D,L₁(V End End End End Pxl-On(S,T Repeat Ans getKey End Pxl-Off(S,T Ans→K If K=24 R-45→R If K=26 R+45→R R-220→θ If K=25 Then int(S-3cos(θ→S int(T+3sin(θ→T Else If K=34 Then int(S+3cos(θ→S int(T-3sin(θ→T End End Pxl-On(S,T Pause End`

` ``StoreGDB 0 ZStandard ZSquare GridOff AxesOff LabelOff BorderColor 4 BackgroundOff {Black,DarkGray,Gray,MedGray,LtGray->L1 For(A,1,10 For(B,1,10 If [A](A,B Then For(C,1,5 For(D,1,5 Pxl-On(115+5A-C,5B-D,Black End End End End End 122->A 5->B DelVar DRepeat K=45 For(theta,~3,3,.1 Line(12+theta,3,12+theta,10,0 End Circle(12,6,1.8,Black Line(10,6,14,6,1,Black,1 Line(12,4,12,8,1,Black,1 For(theta,~40+D,40+D If not(remainder(abs(theta-D),10 Line(12+2.5cos(theta-2D),6+2.5sin(theta-2D),12+2cos(theta-2D),6+2sin(theta-2D),1,Red+(theta=D),1 sin(theta->U cos(theta->V DelVar NRepeat Ans or N=10 N+1->N int(A+NU->I int(B+NV->J pxl-Test(I,Ans End (theta-D)/5 Line(Ans,5,Ans,~5,0 If N!=10 Line(Ans,(10-N)/2,Ans,~(10-N)/2,1,L1(1+min(int(N/2),dim(L1 End If not(pxl-Test(A,B Pxl-On(A,B,Red getKey Repeat Ans getKey End Ans->K Pxl-Off(A,B D-5(K=11->D D+5(K=15->D D-2(K=12->D D+2(K=14->D int(A+(K=13)2sin(D)+(K=23)5sin(D->A int(B+(K=13)2cos(D)+(K=23)5cos(D->B End RecallGDB 0`