Any way to stop link calc clear?

A General Discussion forum for TI calculators

Moderator: MaxCoderz Staff

Post Reply
CompWiz
Calc King
Posts: 1950
Joined: Thu 13 Oct, 2005 1:54 pm
Location: UB

Any way to stop link calc clear?

Post by CompWiz »

For the exams in my school, the teachers come to each student, link their calculator with yours, and run a program. Your calculator turns off. When your calculator turns back on, it shows the memory cleared screen. Is there any way to somehow block this? would fakeres3 work? I know it works if you just type in 2nd mem 7 etc and clear it, but this is different. I was thinking of maybe putting something in the link port so they are forced to do it manually. Or maybe disconnecting the link cable. Then fakeres3 would definitely work. Does anyone know any way to prevent the clear without resorting to manually blocking the link? :?
Gambit
Sir Posts-A-Lot
Posts: 252
Joined: Mon 21 Feb, 2005 5:34 am
Location: Laveen, Arizona

Post by Gambit »

Well, I don't support cheating, but it seems that your teachers use a program called TestGuard? You could reply with whatever TestGuard requires (iirc, a series of requests and acknowledgements). You'd need to figure out the link requests.... but once that's done, you can gain control with one or many of the hooks that the 83+/84+ calculators provide :)
"If SOURCE is outlawed, only outlaws will have SOURCE."
CompWiz
Calc King
Posts: 1950
Joined: Thu 13 Oct, 2005 1:54 pm
Location: UB

Post by CompWiz »

Gambit wrote:Well, I don't support cheating, but it seems that your teachers use a program called TestGuard? You could reply with whatever TestGuard requires (iirc, a series of requests and acknowledgements). You'd need to figure out the link requests.... but once that's done, you can gain control with one or many of the hooks that the 83+/84+ calculators provide :)
I don't use it to cheat, I use it so that my calculator programs are not cleared. Isn't there a way to disable the link port somehow? Something about silent linking?

I don't know much about the program they use. They just connect the calculators, push some buttons on theirs, and then your calculator turns off. When you turn it on, it gives the memory clear screen. That's all I know.
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

Hmm, the only way I can imagine that to work is if they press 2nd mem 7 etc through the silent link control. In which case any fakeres like program should be able to block it. I'd say give it a try :)

If that doesn't work however, there may be things about the silent link protocol we're not aware of... :shock: ...In which case I'm sure we can prepare a recorder program for you that blinks the cursor and "shuts down" as soon as it receives data, only to record all data being sent in the background :)
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
Liazon
Calc Guru
Posts: 962
Joined: Thu 27 Oct, 2005 8:28 pm

Post by Liazon »

hooks confuse me. How exactly do they work? Are they like interrupts that will fire when a certain condition (specified in the hook) is met? How do you integrate them into programs?

are there hooks on the computer?
Image Image Image
CompWiz
Calc King
Posts: 1950
Joined: Thu 13 Oct, 2005 1:54 pm
Location: UB

Post by CompWiz »

Timendus wrote:Hmm, the only way I can imagine that to work is if they press 2nd mem 7 etc through the silent link control. In which case any fakeres like program should be able to block it. I'd say give it a try :)

If that doesn't work however, there may be things about the silent link protocol we're not aware of... :shock: ...In which case I'm sure we can prepare a recorder program for you that blinks the cursor and "shuts down" as soon as it receives data, only to record all data being sent in the background :)
Well, if you want to make a program to do this, I'm game. But there isn't very much time. My math exam this coming Tuesday in the morning. If that's too soon, I think they're also doing the clear sometime late next week for my Physics exam.

The reason that I don't think that they use the silent link control and do the normal 2nd mem 7 etc clear is that when they give the calculator back, I'm pretty sure it is turned off, and says mem cleared when you turn it on. That doesn't work even if you turn it off right after clearing it(I think). The screen comes back blank when you do that normally.

Isn't there some way to disable the link port, or silent linking? If I can make them do it manually, I'm safe.

Thanks for the help! :)
User avatar
Timendus
Calc King
Posts: 1729
Joined: Sun 23 Jan, 2005 12:37 am
Location: Netherlands
Contact:

Post by Timendus »

Stuff some chewing gum in it ;)

I think you can't disable the silent link unless you run your own program, which I'm sure they will not like very much. The Ti-OS checks for silent transfers in the getkey routines (that's why you have to be in the homescreen) and perhaps a bit of it is in the im 1 routine. You can set the interrupt mode to 2, but you can't bypass the getkey routines unless you're not in the homescreen but in some custom program pretending to be the homescreen.

I don't have the time to write the mentioned program before tuesday... I can try next week, but I have tons of work to do :?
http://clap.timendus.com/ - The Calculator Link Alternative Protocol
http://api.timendus.com/ - Make your life easier, leave the coding to the API
http://vera.timendus.com/ - The calc lover's OS
CompWiz
Calc King
Posts: 1950
Joined: Thu 13 Oct, 2005 1:54 pm
Location: UB

Post by CompWiz »

Timendus wrote:Stuff some chewing gum in it ;)


I don't have the time to write the mentioned program before tuesday... I can try next week, but I have tons of work to do :?
ok, well, it's not a priority. If you have extra time, I'd appreciate a program, but if you have work to do, don't waste your time.

And yes, I would like to be able to use my link port again, and not have it full of chewing gum. :P :lol:

I really do think that I saw a program somewhere(probably ticalc.org) that disabled silent linking without having to be running all the time. In fact, I think I installed it and tried it out. It was a long time ago. I'll see if I can find it.
User avatar
tr1p1ea
Maxcoderz Staff
Posts: 4141
Joined: Thu 16 Dec, 2004 10:06 pm
Location: I cant seem to get out of this cryogenic chamber!
Contact:

Post by tr1p1ea »

Testguard was documented on the DS forums iirc.

Either way, couldnt you just back up your calc on your PC?
"My world is Black & White. But if I blink fast enough, I see it in Grayscale."
Image
Image
User avatar
benryves
Maxcoderz Staff
Posts: 3087
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

Timendus wrote:Hmm, the only way I can imagine that to work is if they press 2nd mem 7 etc through the silent link control. In which case any fakeres like program should be able to block it. I'd say give it a try :)
You wouldn't even need to send those keystrokes - there is a kResetMem keycode that clears RAM when sent over SLP.
CompWiz
Calc King
Posts: 1950
Joined: Thu 13 Oct, 2005 1:54 pm
Location: UB

Post by CompWiz »

tr1p1ea wrote:Either way, couldnt you just back up your calc on your PC?
TiConnect was giving me trouble with this. And, right after exams is a great time to distribute calculator programs, as everyone's calculator games have been deleted.
benryves wrote:You wouldn't even need to send those keystrokes - there is a kResetMem keycode that clears RAM when sent over SLP.
It clears the entire memory, archive and ram. If it just cleared the ram, it wouldn't be a problem.
In Memory of the Maxcoderz Trophy Image
Gambit
Sir Posts-A-Lot
Posts: 252
Joined: Mon 21 Feb, 2005 5:34 am
Location: Laveen, Arizona

Post by Gambit »

Well, you can block _all_ silent link requests with the silent link hook, but it would be very suspicious that a calculator that previously was able to be cleared suddenly stop being able to be cleared (but, I guess that's what you're trying to do). tibrando wrote DisLink that you can use in case you don't want to mess with this hook yourself.

The reason why I strongly suspect that your teachers are using TestGuard is because they would not spend the time to learn how to use _SendAByte and read the TI link protocol to learn how to clear a calculator remotely :lol: (and even if they asked TI to code something, they'll plug Testguard anyway).

Testguard clears calculators by sending an assembly program "TESTASM" and a BASIC program "EXEC" in succession. prgmEXEC has "Asm(prgmTESTASM)" as its code and then a silent link request (command ID byte is 89h, iirc) is used to run prgmEXEC.
Liazon wrote:hooks confuse me. How exactly do they work? Are they like interrupts that will fire when a certain condition (specified in the hook) is met? How do you integrate them into programs?

are there hooks on the computer?
Well, it all comes back to the shell/OS. For example, MirageOS has a rarely used program type that allows the program to perform some last minute reordering when the user abruptly quits with [On]+[Clear] or the like. I suspect Dan intentionally put this in because it mimics the useful PutAway functionality in Apps. Hooks are an undocumented and unsupported aspect of the TI-OS that are sort of like interrupts that fire when a certain condition is met, but these "interrupts" are better known as events. That is to say, the calculator hardware does not support this natively, so TI added these in to make them available.

You don't integrate them with programs, per se. They're only useful if you want to extend the functionality of the OS (e.g. the DS Apps) - most games usually only involve the LCD and keypad and have no need for the OS to interfere.

Ok, so that was a roundabout explanation for hooks, but it sorta emphasizes the concept of TI-OS vs. hooks... As to if computers have them, I have no experience to say.
"If SOURCE is outlawed, only outlaws will have SOURCE."
CompWiz
Calc King
Posts: 1950
Joined: Thu 13 Oct, 2005 1:54 pm
Location: UB

Post by CompWiz »

Ok, well I had the exam today. I tried stuffing something in the linkport before the exam, but when my teacher saw that it was like that, he said I had to remove it or I could not take the exam. After he walked away I pulled out some tweesers I convieniently had in my pocket, and got it out. When he cleared it, there was a menu on the screen, and he selected an option. After doing that, it said something on the teacher's calc screen. He disconnected it. Afterwards, the screen was blank, but the calculator was on. I pulled a battery out, and when it came back on(Ram cleared screen came up because I pulled the battery) it had all the archived programs up to L deleted, and all the apps deleted. Fakeres3 did not have any effect. I guess I interupted it while it was clearing the calc, so it didn't get to finish the job.

I'll try the Dislink program next time. I knew there was a way to disable silent link, I just couldn't think of the program name.

Well, fortunately, I finally got ticonnect to backup my calc, so I'm going to reupload all the data now.

Thanks everyone for the help. :)
In Memory of the Maxcoderz Trophy Image
Liazon
Calc Guru
Posts: 962
Joined: Thu 27 Oct, 2005 8:28 pm

Post by Liazon »

Gambit wrote: Well, it all comes back to the shell/OS. For example, MirageOS has a rarely used program type that allows the program to perform some last minute reordering when the user abruptly quits with [On]+[Clear] or the like. I suspect Dan intentionally put this in because it mimics the useful PutAway functionality in Apps. Hooks are an undocumented and unsupported aspect of the TI-OS that are sort of like interrupts that fire when a certain condition is met, but these "interrupts" are better known as events. That is to say, the calculator hardware does not support this natively, so TI added these in to make them available.

You don't integrate them with programs, per se. They're only useful if you want to extend the functionality of the OS (e.g. the DS Apps) - most games usually only involve the LCD and keypad and have no need for the OS to interfere.

Ok, so that was a roundabout explanation for hooks, but it sorta emphasizes the concept of TI-OS vs. hooks... As to if computers have them, I have no experience to say.
so for the most part, there's very little need for them unless you think of some creative game that involves the hooks?

so like the parser hook in xlib, i'm guessing that means it's a hook that detects the real( command used in xlib and tr1p1ea uses a custom hook handler to handle this occurence of the real( command in a basic program?
Image Image Image
Gambit
Sir Posts-A-Lot
Posts: 252
Joined: Mon 21 Feb, 2005 5:34 am
Location: Laveen, Arizona

Post by Gambit »

Yeah, the reason why Asm(program) is slower than the parser is because Asm(program) needs to be handled by the TI-OS parser in the first place anyway! Therefore, by installing a parser hook to take care of real(, xLib executes its functions more quickly.

As far as I see it, games want as little TI-OS intervention as possible, since they want to exploit the hardware as much as possible (I'm not trying to offend anyone - sorry if I did). But, some programs would be harder to do without hooks than with. E.g., you could easily implement a _blinking_ 1x1 cursor (or a sprite cursor) with the cursor hook in an image editing program (DarkAuron, are you reading this? :P). A few years ago, there was talk of a on-calc BASIC debugger (don't ask me about how it works), but obviously, it's been dead for a long while, since nobody knows about it anymore. It would've involved a mess of hooks, but that's what they're for. Not to mention what's already been done with Symbolic and the like...
"If SOURCE is outlawed, only outlaws will have SOURCE."
Post Reply