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.


Messages - cooliojazz

Pages: 1 ... 14 15 [16] 17 18 ... 41
226
Humour and Jokes / Re: Hmm...
« on: October 24, 2010, 07:35:51 pm »
It means he put me in the user group "Lobsters"... :P

227
Humour and Jokes / Hmm...
« on: October 24, 2010, 07:24:32 pm »
Hmms..........

228
Axe / Re: Lock programs with Axe?
« on: October 21, 2010, 11:26:55 pm »
Or more specifically, trying to change a string while compiling to an application...

229
Axe / Re: Lock programs with Axe?
« on: October 21, 2010, 11:10:20 pm »
Ooh, yep, that's exactly it!  Good job Runner! :P

230
Axe / Re: Lock programs with Axe?
« on: October 21, 2010, 08:44:37 pm »
first, I notice "{P-7-X+1}->{Str9+X}" should be "{P-7-X}->{Str9+X}" since P-7 is the first entry, not P-6, which is what yyou got by adding 1 back at the end... I'll go over it more later when I have time to see what els...

231
Axe / Re: Lock programs with Axe?
« on: October 20, 2010, 02:44:06 pm »
ok, you have String A that looks like $4F,$01,$02,$04,$05 and String B which looks like $05,$04,$02,$01 and you want your output to look like $01,$02,$04,$05 right?  So what's the advantage of using String B?

232
Axe / Re: Lock programs with Axe?
« on: October 20, 2010, 01:54:18 pm »
I mean, I got that it copied it to the string, but... Wouldn't you already have the name of a program if to find its location?

233
Axe / Re: Lock programs with Axe?
« on: October 20, 2010, 11:08:35 am »
I just first want to mention that I forgot at the end you could just put a {T-3}r which you could use instead of GetCalc.  But, if you really wanted to just use the forward-formatted string with the prefix, first... What is
For(X,1,{P-6})
{P-7-X}->{Str9+X} . Not sure wether it works by using this way
End
For? ???

234
Axe / Re: Lock programs with Axe?
« on: October 20, 2010, 01:50:33 am »
I'd like to apologize, that post sounded kind of elitist now that I reread it.  So I'll try to explain everything now.  With like, explanations. :P
Ok, so to start, you have the VAT(variable allocation table) right?  It starts for programs and appvars at the memory location 0x9830, $9830, 9830h, or E9830 depending on what language you need to reference it in.  Since you are using axe though, i will stick with the E9830.  So the vat contains lots of entries, one for each program/appvar, each one containing this info for each program: The name, a pointer to where the actual program data is, the variable type, whether its archived (and what page its on if it is), and the version, and the length of the name.  It might be useful at this point to mention that he VAT is written backwards.  So, to unlock/lock progams, there's only three relevant pieces of information.  1. The program name 2. The name length 3. The type, since A. We need to know whether its an appvar or program, then to lock/unlock it, we only need to change the type.  First, lets define what these values can be.  The name length is an number between 1 and 8.  For the type, we only need the bottom 4 bits, because those are the ones that actually define the type.  So we'll want to AND it with E001F, then the two values we care about are 5, for program, and 6, for locked program.  The name should simply be whatever you named your program. =P  So, we'll say you wanted to be able to use the GetCalc(Str1) for your program, thogh, since we have to find it in the vat anyways to change the type, we could just grab it from there.  Actually, this will be easier for m example, lets just do this.  Your string will then look like this for program LEVELNOM "MONLEVEL"->Str1 (Which is why I decided not to use it with GetCalc, otherwise it would look like "prgmLEVELNOM"->Str1 instead, which is harder to compare when you're being lazy like me)  We will now proceed to search the vat for your program.
Code: [Select]
"MONLEVEL"→Str1  // The name of our program, in reverse order (Remember? The vat is backwards.)
{E9830}r→θ  // The location where the vat starts stored as a variable for easy manipulation. (This is actually the end, but remember?...)
{E982E}r→Z  // The end of the vat. (This is actually... Meh, you get the point :P)
0→C  // C Will be our condition of whether or not the program was found
Repeat θ≤Z+C  // Loops until the end of the vat is found or your program is found.
If getKey(15):Return:End  // Umm, if I screwed up or something... Normally I include this in loops like this so I can just quit by pressing Enter if something happens.
{θ}∙E001F→A  // Puts the value of the lower 4 bits of the object type into A for testing.
If A=5+(A=6)  //If its a locked or unlocked program... Yay! See if it's the one we want!
θ→T  // Temporary storage FTW!
{T-6}→U  // Go to where the name length is (6 bytes back from the type, where T currently is) and store the value there to U
While U>0 // Check each byte of the name
{Str1-U}={T-U-6}+C→C  //If byte X of the name is equal to byte X of the vat entry...
U-1→U  //Go to the next character!
End
C=U→C  // If every character matched, then good! C now reflects that a program was found!
End
θ-6→θ  // Go to where the name length is (6 bytes back from the type, where θ currently is)
θ-{θ}-1→θ  // Skip past the name now that we know the length, and one additional byte to start the next entry.
End
(I'm just assuming your program was found, not that the end of the vat was reached.  You can add more code to check for that if y{T}-5
{T}-5=0+5→{T}  // Umm... Inverts the lock/unlockness of your program?
6→{T}  // Or youc ocould just lock it, if no toggling is neccessary ;P
That should be it I think... Let me know if you run into any difficulties with that code or need more help!

235
Axe / Re: Lock programs with Axe?
« on: October 18, 2010, 03:03:47 pm »
Well, you would need to manually search the vat for your program, then change the type byte, to... I think 13, but whatever it is to lock it.  I made a shell that could do this, so if you want to look at some of the code I used to get the vat etc. here:
Code: [Select]
:.ASHELL
:"000000000"→Str1
:"prgmASHELL"→Str2
:"UnrealShell"→Str3
:[F88C8EB2AAB2A2FEF88C8E92AABAAAFE]→Pic1
:[3844447C6C446C7C]→Pic2
:[44AACEAA0050A88844AAECAA60808060]→Pic3
:DiagnosticOff
:Fix 5
:{E9830}r→θ
:{E982E}r→Z
:{GetCalc(Str2)-2}r→R
:sub(LP)  // Sub that loads the locations of all programs in the memory into a list
:0→P→X→Y
:
:
:
:While 1  // This is the main loop i used for selecting programs, no need for you to worry much about this =P
:sub(DP)  //Just draws the program names and icons.  You might want to look at this one to find where program info is relative to the start =P
:3→W
:sub(IC)
:P→Q
:While P=Q
:X→W:Y→Z
:If getKey(15):Goto FN:End
:
:If getKey(51)  // Archive/unarchive toggle
:{Y*2+X+(P*8)+1*2+L2}r→A
:If {A}∙E001F=21:21→{Str1}:Else:5→{Str1}:End
:A-7→A
:For(B,0,{A+1}-1
:{A-B}→{B+1+Str1}
:End
:0→{B+2+Str1}
:If {A+2}:UnarchiveStr1:Else:ArchiveStr1:End
:3→W
:sub(DP)
:End
:
:If getKey(52)  // Lock/unlock toggle
:{Y*2+X+(P*8)+1*2+L2}r→A
:If {A}∙E001F=6:5→{A}:Else:6→{A}:End
:3→W
:sub(DP)
:End
:
:If getKey(53)  // Appvar/program switch
:{Y*2+X+(P*8)+1*2+L2}r→A
:If {A}∙E001F=21:5→{A}:Else:21→{A}:End
:3→W
:sub(DP)
:End
:
:P-getKey(11)+getKey(10)→P
:P=65535-(G=P)+P→P
:X-getKey(2)+getKey(3)→X
:Y-getKey(4)+getKey(1)→Y
:X=65535*2-(X=2*2)+X→X
:Y=65535*4-(Y=4*4)+Y→Y
:!If X=W*(Y=Z):sub(IC):End
:End
:End
:
:
:
:Lbl LP
:2→B
:Repeat θ≤Z
:If getKey(15):Goto FN:End
:{θ}∙E001F→A
:If A=5+(A=6)+(A=21)
:θ→{L2+B}r
:B+2→B
:End
:θ-6→θ
:θ-{θ}-1→θ
:End
:B-2→{L2}r
:B/2/8+1→G
:Return
:
:
:
:Lbl DP
:0→B→A→C
:ClrDraw
:Repeat B=4+(P*16+C≥{L2}r)
:{P*16+C+L2+2}r→θ
:{θ}∙E001F→H
:Pt-Off(A*40+2,B*16,Pic1)
:Pt-Off(A*40+20,B*16,Pic3)
:If H=21:Pt-Off(A*40+2,B*16,Pic1+8):End
:If {θ-5}:Pt-Off(A*40+20,B*16,Pic3+8):End
:If H=6:Pt-Off(A*40+11,B*16,Pic2):End
:θ-6→θ
:{θ}→H
:0→J
:For(D,0,H-1)
:θ-1→θ
:Text(J+(A*40)+2,B*16+9,{θ}►Frac)
:J+4→J
:If {θ}=105:J-2→J:End
:If {θ}=108+({θ}=115)+({θ}=116):J-1→J:End
:If {θ}=122:J+1→J:End
:End
:A+1→A
:If A=2:0→A:B+1→B:End
:C+2→C
:End
:{E9828}r-{E9824}r+R→E
:89→A:0→B
:For(J,1,5)
:0→F
:Repeat E/10*10=(E-F):F+1→F:End
:Text(A,B,F►Dec
:sub(ST)
:E/10→E
:B+4→B
:End
:80→A:0→B
:Fix 1
:For(J,0,10)
:Text(A,B,{10-J+Str3}►Frac
:sub(LT)
:B+6→B
:End
:Fix 0
:DispGraph
:Return
:
:
:
:Lbl IC
:For(A,0,15)
:Pxl-Change(X*40,Y*16+A)
:Pxl-Change(W*40,Z*16+A)
:End
:For(A,1,39)
:For(B,0,1)
:Pxl-Change(X*40+A,Y*16+8+B)
:Pxl-Change(W*40+A,Z*16+8+B)
:End
:End
:DispGraph
:Return
:
:
:
:Lbl ST
:For(C,0,3)
:For(D,0,5)
:pxl-Test(C+A,D+B)→{D*4+C+L1}
:Pxl-Off(C+A,D+B)
:End
:End
:For(C,0,3)
:For(D,0,5)
:If {D*4+C+L1}:Pxl-On(D+A,3-C+B):End
:End
:End
:Return
:
:
:Lbl LT
:For(C,0,5)
:For(D,0,7)
:pxl-Test(C+A,D+B)→{D*6+C+L1}
:Pxl-Off(C+A,D+B)
:End
:End
:For(C,0,5)
:For(D,0,7)
:If {D*6+C+L1}:Pxl-On(D+A,3-C+B):End
:End
:End
:Return
:
:
:
:Lbl FN
:Fix 4
:ClrDraw
:ClrHome
I can go into detail if you want about how to do this, but... Meh, I personally like looking at code, so I'll leave you with this :P
EDIT: I realized commenting code is useful =P

236
TI-BASIC / Re: Probably Pointless Program
« on: October 07, 2010, 12:27:47 am »
Hey, out of curiosity, what's the point of drawing the lines first if you're just going to hav to redraw most of them after you add the text?

237
Other Calculators / Re: the apology you have all been waiting for
« on: October 06, 2010, 05:03:55 pm »
I remember being in a similar situation once... upon... wow, that seems so long ago, but it was only like 2 years ago!  Anyways, don't worry, as long as your apology's sincere, and you really make an effort to change, which it seems you have, you'll easily become accepted as a part of the community.  Especially if this forum is one of your first places though, I can remember, it can be hard getting used to the way you need to say things to get them better understood online... I'm sure everyone appreciates this apology very much though.  ;)

238
Miscellaneous / Re: Birthday Posts
« on: October 01, 2010, 10:44:06 pm »
Yay, birthdayness! Cooliojazz cackles at the army...  ;D

239
Site Feedback and Questions / Re: 500 Errors
« on: September 22, 2010, 08:42:00 am »
I hadn't... But then I just got them right now... X.x

240
TI Z80 / Re: TFE - Resurrection (TI-File Editor)
« on: September 20, 2010, 01:48:09 pm »
O, *Phew* that makes me feel a bit better, cause that was really strange... Hmm, that is a good idea for a future addition tho... O_o

Pages: 1 ... 14 15 [16] 17 18 ... 41