| The United-TI Forum is Read-Only. | |
| Goto page 1, 2, 3, 4 Next |
| 08 Oct 2003 01:41:48 pm by NETWizz | ||
| I am already on it.
I can fix it so it says 1.14, but I cannot do much else to it without the source. |
||
| 08 Oct 2003 05:22:28 pm by Adm.Wiggin | ||
| whoa, thats awesome! |
||
| 08 Oct 2003 05:40:09 pm by Adm.Wiggin | ||
| cool... so that really just takes the $9F th byte of the program and changes it? wow... | ||
| 08 Oct 2003 09:26:59 pm by NETWizz | ||
| No
It finds the program DE points to the data/size Then it adds $A1 to the address and the byte is at the address. Then it reads and writes to that area of ram. ld hl,de is de+hl->hl |
||
| 09 Oct 2003 04:54:38 pm by Adm.Wiggin | ||
| yes, so you add 2 to the program location, then you must add the offset for the byte you wish to change |
||
| 10 Oct 2003 11:03:08 am by anduril66 | ||
| Is there a way to make a program hide or delete itself (without crashinhg the calc) after completing a task? | ||
| 10 Oct 2003 01:05:15 pm by David | ||
| Huh, Jbirk wrote a patcher for ZCLEAR Anyways, point 1 and 3 will be easy to fix. Point #2 (correct rom version), is also rather easy. I have considered using the TI-OS system routine for retrieving the basecode version, thus making it more realistic. Anduril, yes, it's possible make a program hide/delete itself. It's just to do it the normal way. It might sound dangerous to delete a program while it's running, but nothing will strange will happen, providing you run it from TI-OS, running from a shell won't work thought, because it will try to write back to a program that doesn't exist any longer . TI-OS doesn't perform any writeback, it just deletes the program copy and doesn't care about whether the original program exists or not. |
||
| 10 Oct 2003 02:56:32 pm by NETWizz | ||
| #include "ti83plus.inc"
.org $userMem-2 .db $BB,$6D ld hl,modify rst 20h bcall(_chkfindsym) ret c ld hl,$A1 add hl,de ld a,(hl) inc a ld (hl),a ret modify: .db protprogobj,"ZCLEAR",0 .end How this program works: It loads the address containing the object type and zeroterminated name into hl, then rst20h copies this information to OP1. Next, bcall(_chkfindsym) looks up the information from the sym table (VAT); in other words, it finds the program. After finding the program, HL -> Sym Table Entry Object/Type byte (you could change this byte to protect/unprotect 5=unprotected 6=protected) DE -> Size bytes (ther are two with the LSB first) inc de twice to get to the actual data in ram. B = Flash page (if 0, in ram, else in archive) C flag will be returned if the program is not found. So, ret c exits if ZCLEAR is not found. ld hl,$A1 ;loads hl with the number of bytes the program is in from the first size byte add hl,de ;HL+DE->HL HL now points to the 2 in 1.12 ld a,(hl) ;read from that mem address and store the 2 or whatever it is in A. inc a ;A+1->A ld (hl),a ;A-> value at memory address defined in HL; put simply, write the new value back. ret ;Exit the program Going the extra distance: After the ret c, you should add something I think. add this: ld a,b ;flash page to accumulator or a ;same as cp 0; are we on page 0, ram? ret nz ;If not in ram, exit Add that to prevent unpredicatle results if you have ZCLEAR archived. |
||
| 10 Oct 2003 03:10:08 pm by NETWizz | ||||
Yes here is how: ld hl,label rst 20h bcall(_chkfindsym) ;we will assume it exists, sience you are running it ;bcall(_delvararc) will delete this regardless of wheater it is in ram or the archive ;if you wish to hide, then don't delete instead: ; hl point to the obj type ld bc,-6 add hl,bc ;now hl points to the first character of the programs name res 6,(hl) ;hide it by subtracting 40h ret ;exit ;you can unhide with an asm program, MirageOS, or the beta of NimbusOS ;Below is the data section label: .db progobj,"NAME",0 You use protprogobj for protected programs, and I do not think you need the 0 termination if you have 8 or more characters, but I can't remember for sure, nor do I wish to enter the flash debugger to find out. |
||||
| 10 Oct 2003 04:33:03 pm by Adm.Wiggin | ||
| you dont need the 0 if it is 8 chars... it cant be more |
||
| 14 Oct 2003 01:03:01 pm by anduril66 | ||
| Thank you very much.
Can you please compile the finished program and show me the source code (because I can't download programs rignt now). It is very nice of you to do all this work for someone else. |
||
| 14 Oct 2003 03:45:31 pm by JoeImp | ||
| How do you attach a file. I didnt believe you could.
Imp |
||
| 14 Oct 2003 06:05:03 pm by Adm.Wiggin | ||
| you must be an admin to have that privelage set... it was set during the logo contest to upload logos... | ||
| 25 Oct 2003 09:08:13 am by David | ||||
Ok, Anduril. I got inspired and created an improved version of the ZCLEAR prog. This one uses a key hook to integrate itself in the Mem/Reset menu. So when you try to perform a mem/RAM reset, the program will fake that screen! I also added a routine for displaying the proper base version. Do you want it this way, or do you just need a fake mem reset screen (w/o) keyhook? |
||||
| 25 Oct 2003 12:08:47 pm by Adm.Wiggin | ||
| thats cool David! you know too much about the TI-OS for me! ;)
wait, Jbirk taught me the theory behind that! you check what menu the user is in, if it is the memory delete, then check if they are on the clearing option, if they are, then you check for when they click it, then just display your screen... is that even close? |
||
| 25 Oct 2003 12:30:19 pm by David | ||
| Yes, that's pretty close!
There are three bytes starting at (menucurrent) that holds the currently selected menu, sub-menu (eg math and stat menu) and item. So I just read from (menucurrent), and if it's 23h, then we're in the "Reset RAM?" menu I will post the program here very soon. |
||
| 25 Oct 2003 12:47:00 pm by Adm.Wiggin | ||
| sweet!!!!! you could post it under Downloads on unitedti.org... and make a news article that says something like "First Download added to UnitedTI.org!"
|
||
| The United TI Forum is Read-Only. | |
| Goto page 1, 2, 3, 4 Next | |
[Switch to Desktop view]
© Copyright 2000-2013 Cemetech & Kerm Martian :: Mobile Design by Alex "comicIDIOT" Glanville
Problems? Issues? Or Suggestions? There's a thread for that!
© Copyright 2000-2013 Cemetech & Kerm Martian :: Mobile Design by Alex "comicIDIOT" Glanville
Problems? Issues? Or Suggestions? There's a thread for that!
