Show Posts

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
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 O.O(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
The Axe Parser Project / 84+ce AXE
« 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
Axe / Troublesome Sudoku Solver
« 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 :banghead: , though I am not entirely sure why. <_<
Code: [Select]
.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. ;)
Code: [Select]
..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
Axe / Axe String to Ti-Float Parser issues
« on: February 07, 2014, 08:49:41 am »
Alright, I've decided to work on a String to Float parser in axe ;D. 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.
Code: [Select]
.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 :P, and it has no problem getting the 10^x value from integers.The problems start when you feed it a floating point number :mad:. 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 :o. 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! :evillaugh: Still doesn't parse the floating point (ex. 12.345) correctly, though

5
The Axe Parser Project / Equation Parser in AXE
« 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. ;D 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]