[A83] Re: Special ram areas?


[Prev][Next][Index][Thread]

[A83] Re: Special ram areas?





>
>How do you intend to check if the file is still in the same location it
used
>to be in?  When a program moves, sometimes the data in the old location
gets
>overwritten.  Sometimes it doesn't.  Just like a quick format doesn't
really
>erase the data on your disk, only the vat changes.  So whats the problem
>with that?  Nothng if the entire data is completely unwritten but more
>likely the data will be half there, half not.  So you would need to check
if
>the vat entry's pointer remained the same... but the vat entry could also
>move w/o the file actually moving... So the only 100% bug free way to do
>this is to use vat romcalls to search for it.  Of course this problem I
>outlined would be rare and might slip through beta testing.
>Brandon Sterner

There is an easy way to make 99.99% sure the contents of the program is
intact and still in the same memory location - do a Cyclic Redundancy
Check.  Add up every single byte in the compiled routine (the actuall
binary values for the opcodes).  Then put a checksum at the end of the
routine that already has the correct sum.  If the added up value equals the
checksum, then you can call the routine.  Else, the routine has been
written over.

Okay, maybe its not as easy as i said it was =) But its what the internet
uses for packet checking, so it can't be that bad =p
- - Joe

>
>----- Original Message -----
>From: Henk Poley <HPoley@DDS.nl>
>To: <assembly-83@lists.ticalc.org>
>Sent: Wednesday, October 31, 2001 2:18 PM
>Subject: [A83] Re: Special ram areas?
>
>
>>
>> > Van: BRANDON STERNER <bms9019@osfmail.isc.rit.edu>
>>
>> It might be a good idea to create a new program and copy your fonthook
>into
>> it (or just make one yourself with TASM and bin2var). Give that
>> 'fonthook'-program some distinguishable header. Then make a routine that
>> knows the last correct adress of the file, checks if it's still there
>> (fast), looks it up if not (slow), and jumps to it. Such code would be
>> small, and could fit into the stack area. This way you are compatible
with
>> almost all programs that exist for the Ti83+ I guess.
>>
>> The header and the name of the program could be the same (to safe space).
>> Since the lookup routine has stored where your font-hook is, you can use
>> that info to calculate adresses inside the program (old Ti85 style).
>>
>> Good luck!
>>
>> Henk Poley <><
>>
>> > You really cant guarantee that that location will not be over written
by
>> > another asm program/application.  In fact there really isn't anywhere
in
>> > ram that you can feel safe there won't be shifting or overwriting
unless
>> > your program is in complete control but the idea of hooks is that they
>> are
>> > used while your program is not running.  You could always look up the
>> > program in the vat but that would be insanely inefficient.
>> >
>> > On Wed, 31 Oct 2001, Ronald Teune wrote:
>> >
>> > >
>> > > Hi,
>> > >
>> > > Dunno if I told it, but I'm planning to make a font app, with
external
>> font
>> > > support, if possible. If I have external fonts, I need to transfer
>them
>> to a
>> > > static location in ram, like ion's 9F60 or so. Is there another such
>> > > location that won't shift through memory? How does ion do it?
>> > > Another one: The ti-font is 5 pixels wide, but bytes are 8 bytes. Do
I
>> have
>> > > to fill the rest with zeroes? Can anyone (Andy Hochhaus?) tell me
what
>> to
>> > > change if I want to make a big font? And can anyone tell the use of
>> eea? I
>> > > don't see it. Maybe if I downloaded it, this will change.
>>
>>
>>
>>
>
>
>
>

_____________________________________________
Free email with personality! Over 200 domains!
http://www.MyOwnEmail.com





Follow-Ups: