Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: lookitsan00b on March 15, 2011, 06:22:04 pm

Title: Interactive (worm) Pet!
Post by: lookitsan00b on March 15, 2011, 06:22:04 pm
Finally, you can own your own little virtual pet on your calculator! (itsa worm!) Not only can you feed it, but if you don't feed it, it'll die! (and rise from the grave to haunt your children and their children!)

Asm(prgmWORMY) has a little (< .5 screen) tutorial on how to care for your new pet.

Okay I'll admit I was bored :P

Spoiler For didja kno that worms are bugs?:
1: Its a little bug that attaches itself to the first unarchived nostub asm program it finds
2: Then the next, and so on. (1 each time you run an 'infected' program)
3: When it runs out of programs to 'eat', it starts complaining about you not 'feeding' it. (but it'll still let you run the program)
4: After a while of this, it will no longer let you run nostub asm programs until you 'feed' it.

Btw, it doesn't seem to work in wabbit... :(

*untested upwards and downwards of os2.43
Title: Re: Interactive (worm) Pet!
Post by: calcdude84se on March 15, 2011, 06:25:56 pm
Woo, a real worm! :P Anyway, make sure that you run the nostub programs correctly (get rid of the worm portion from the executing copy before executing so all addresses are correct) ;)
I might duplicate this at some point... Sounds like a fun coding exercise.
Title: Re: Interactive (worm) Pet!
Post by: Scipi on March 15, 2011, 06:33:25 pm
ooo That's gonna be fun to put on someone's calc. :P

Is there a way to end it?
Title: Re: Interactive (worm) Pet!
Post by: turiqwalrus on March 15, 2011, 06:40:21 pm
that's fun. I'll have to infect someone's calc with that. after a while, does it not let you even run the worm program?
Title: Re: Interactive (worm) Pet!
Post by: calcdude84se on March 15, 2011, 07:48:31 pm
Before you do, make sure that the other ASM programs won't crash because of what I said (addresses no longer work because of shift). lookitsanoob, did you take this into account? (Not saying you didn't, but that's the most possible problem if there is one and simple test programs like "ret" wouldn't be affected)
Title: Re: Interactive (worm) Pet!
Post by: lookitsan00b on March 15, 2011, 09:46:23 pm
Woo, a real worm! :P Anyway, make sure that you run the nostub programs correctly (get rid of the worm portion from the executing copy before executing so all addresses are correct) ;)
I might duplicate this at some point... Sounds like a fun coding exercise.

Yeah I had no trouble there. I did have some trouble remembering that I can't run overwritten code, tho :P

Yeah it was interesting. Started out trying to make it attach to the end... that was a nightmare :P Btw, If you like, the attached appvar above is the source. (from Mimas. I can't get it to convert properly to .asm)

that's fun. I'll have to infect someone's calc with that. after a while, does it not let you even run the worm program?

After a while of not giving the program new no-stub programs to infect, it will not run the 'host' program if it still fails to infect a new program.

Actually all of my testing is done with a (slightly modified :P) copy of prgmSTARSHIP (the one included with Axe) and it runs perfectly!

(no idea why wabbit doesn't like this... all I use is B_CALLs Enough_Mem and Insert_Mem, as well as Asm_data_ptr1 and manual scanning of the VAT...)

As for uninstalling: backup your programs before installing. :P All changes are made directly to the source programs. (you may notice the program size jumps by about 300 bytes) The only thing it checks for is a prefix of
ld a,a/or a
, which tells it to keep looking.  So, uninstalling could cause some problems...
Title: Re: Interactive (worm) Pet!
Post by: DJ Omnimaga on March 15, 2011, 11:03:09 pm
Interesting, but make sure to warn people it's a bit on the virus side rather than just a game, so if they got precious data on their calc they can back it up first.