This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Topics - Jsec42
Pages: [1]
1
« on: September 11, 2016, 05:56:03 pm »
Hello omnimaga, long time no see. I'm building an operating system for the TI-84+ series calculators(and perhaps the TI-83+SE if I can find someone to test it during the beta phase). Part of its design includes exploiting the hardware's error traps (eg. No-EXEC, Port elevation, authorized read, etc.), however, I can't find any info stating whether the traps simply reset the CPU or if they execute an NMI(eg. an RST 60h) . Does anyone have any info on this behavior? If so, please reply! Thanks!
2
« on: April 29, 2015, 10:48:08 pm »
Is there any way we can get AXE running on the new 84+CE? Just a thought...
3
« on: September 15, 2014, 06:11:42 pm »
I couldn't find anything good along these lines on ticalc.org, so I have been attempting to make it myself. It is a sudoku solver, in case you didn't already know. However, for whatever reason it is getting into an infinite recursion , though I am not entirely sure why. .SDKUSVZ #Realloc(L1) 0->X 0->Y 0->A 0->B [0042241818244200]->Pic2 [0000000000000000007E6E4E6E467E0000423C724E3E000000427C427C7C4200005A5A407A7A7A0000003E027C7C020000403E3E023C420000007872664E1E0000423C423C3C420000403C3C407C7C00]->Pic1 Buff(81)->G Goto MAIN prgmSTACKLIB Lbl DISP ClrDraw^^r^^r For(A,0,9 Line(0,7*A,63,7*A) Line(7*A,0,7*A,63) End For(A,0,8 For(B,0,8 If {9*B+G+A} Pt-On(7*A,7*B,{9*B+G+A}*8+Pic1)^^r End End End Pt-On(7*X,7*Y,Pic2) DispGraph^^r Return Lbl MAIN Repeat getKey(9) DISP() If getKey(4)?Y!=0 Y-1->Y End If getKey(1)?Y!=8 Y+1->Y End If getKey(2)?X!=0 X-1->X End If getKey(3)?X!=8 X+1->X End If getKey(33) 0->{9*Y+X+G} End If getKey(34) 1->{9*Y+X+G} End If getKey(35) 4->{9*Y+X+G} End If getKey(36) 7->{9*Y+X+G} End If getKey(26) 2->{9*Y+X+G} End If getKey(27) 5->{9*Y+X+G} End If getKey(28) 8->{9*Y+X+G} End If getKey(18) 3->{9*Y+X+G} End If getKey(19) 6->{9*Y+X+G} End If getKey(20) 9->{9*Y+X+G} End If getKey(15) For(N,0,80) 0->{G+N} End End If getKey(55) Return^^r End End 0->L 0->M sub(BACKTRACK) Disp "Solve complete!",[i] Disp T>Dec Goto MAIN Lbl ISFULL For(X,0,8 For(Y,0,8 If {9*Y+X+G}=0 0->T Return End End End 1->T Return Lbl GETNEXT While {9*M+L+G}!=0?M!=9 L++ If L=9 0->L M++ End End Return Lbl COLLISION If L<3 0->A ElseIf L<6 3->A Else 6->A End If M<3 0->B ElseIf M<6 3->B Else 6->B End For(X,0,8) If {9*M+X+G}!=0 If X!=L If {9*M+X+G}={9*M+L+G} 1->T Return End End End If {9*X+L+G}!=0 If X!=M If {9*X+L+G}={9*M+L+G} 1->T Return End End End End A+2->C B+2->D For(X,A,C) For(Y,B,D) If {9*Y+X+G}!=0 If L!=X??M!=Y If {9*Y+X+G}={9*M+L+G} 1->T Return End End End End End 0->T Return Lbl BACKTRACK If {9*M+L+G}!=0 sub(GETNEXT) End 1->N While N!=10 N->{9*M+L+G} sub(COLLISION) If T=0 sub(ISFULL) If T=1 Return End L++ If L=9 M++ 0->L End sub(PUSH,L1,L) sub(PUSH,L1,M) sub(PUSH,L1,N) sub(BACKTRACK) sub(POP,L1,N) sub(POP,L1,M) sub(POP,L1,L) If T=1 Return End L-- If L=65535 8->L M-- End If L=0 8->L M-- Else L-- End End N++ End 0->{9*M+L+G} 0->T Return
It also uses a stack library of my own creation to keep from overflowing the tiny 300 byte stack on the ti-83. ..STACKLIB Lbl PUSH {[r1]}^^r+1->{[r1]}^^r {[r2]}^^r->{{[r1]}^^r+1+[r1]} Return Lbl POP If {[r1]}^^r>=>=0 {{[r1]}^^r+1+[r1]}->{[r2]}^^r {[r1]}^^r-1->{[r1]}^^r Else 0->{[r2]} End Return
It is rather minimal, but I don't think the stacklib is the problem. Any assistance?
4
« on: February 07, 2014, 08:49:41 am »
Alright, I've decided to work on a String to Float parser in axe . It is incomplete as of yet, but I need to get critical parts of the program finished as of yet. My current source code is as follows. .NP GetCalc("Str1")->A {A-2}^^r^^r->E 0->{A+E} [r2]->B Disp A,[i] 0->C 0->D If {A}=176 A+1->A |E80->C End While {A}='0' A+1->A If length(A)=0 Goto EXIT End End If {A}=58 A+1->A ~1->D While {A}='0' A+1->A D-1->D If length(A)=0 Goto EXIT End End Else inData(A,58)->D If D=0 length(A)-2->D Else D-2->D End:End Disp D>Dec,[i] |E80+D+C^^r^^r->C Disp C>Hex Lbl EXIT As you can see, it doesn't(yet ) make any attempt to parse the numeric data in the string . It parses negative numbers perfectly , and it has no problem getting the 10^x value from integers.The problems start when you feed it a floating point number . With a number with an integer part before the ".", it parses the thing as an integer, and returns the wrong value for the 10^x, as if it was not anticipating the decimal point, or not parsing it otherwise. What scares me, though, is when a number is parsed WITHOUT the integer part, it returns nothing at all . Can I please see some assistance here, if possible? I will post the source code and ti-basic lib version here when completed. Edit-found the problem with the 0 decimal parsing - Misplaced end! Still doesn't parse the floating point (ex. 12.345) correctly, though
5
« on: January 20, 2014, 06:40:56 pm »
Hi there, newbie here, I was thinking of creating a 3d graphing suite for the ti-83+ series. I seem to have figured out most of what is going to be needed, but I can't seem to find a string to expression parser for axe. I figured that the expr() command could be used, but it doesn't exist in the command list. Can I please be steered in the right direction? Thanks!
Pages: [1]
|