A83: Re: Re: Re: Re: LDIR timing / saferam1


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

A83: Re: Re: Re: Re: LDIR timing / saferam1




Thanks. I reviewed my code and indeed - I screwed up my code (caused a stack
overflow). I will also check out the line routine. It looks like it uses
Ion, is this correct? Thanks for the stuff!

Yours sincerely,
Frank Schoep

-----Oorspronkelijk bericht-----
Van: Dan Englender <dan@calc.org>
Aan: assembly-83@lists.ticalc.org <assembly-83@lists.ticalc.org>
Datum: woensdag 23 augustus 2000 17:51
Onderwerp: A83: Re: Re: Re: LDIR timing / saferam1


>
>Neither of those two pieces of code would crash the calculator (unless the
>equates for plotsscreen or saferam1 are incorrect).  It must be some of the
>other code.  For a fast line routine, check my message in response to some
>other guy.  Subject = "Animation with _ILine".  That routine will draw a
>line in black much, much, much faster than ILine (although my routine could
>still be optimized a bit more).  If you need to draw in white,xor, etc let
>me know and I'll email you the full routine.
>
>-Dan Englender
>----- Original Message -----
>From: "Frank Schoep" <dsfs98@concepts.nl>
>To: <assembly-83@lists.ticalc.org>
>Sent: Wednesday, August 23, 2000 11:46 AM
>Subject: A83: Re: Re: LDIR timing / saferam1
>
>
>>
>> I'm using the saferam1 location to store the contents of the graph buf
>> (using it as double buffer to reduce flickering). I use this routine
>(which
>> eventually screws the calc):
>>
>> Graphbackup:
>> ld hl,plotsscreen
>> ld de,saferam1
>> ld bc,768
>> ldir
>> ret
>>
>> Restorebackup:
>> ld de,plotsscreen
>> ld hl,saferam1
>> ld bc,768
>> ldir
>> ret
>>
>> The restore code is executed more often than the bacup itself. This is
>> because sometime only certain sprites need to be redrawn. I would also
>like
>> to know if there is a substitute for Iline which is much faster...
>>
>> Thanks in advance (and thx for the LDIR timing),
>> Frank Schoep
>>     -----Oorspronkelijk bericht-----
>>     Van: Dan Englender <dan@calc.org>
>>     Aan: assembly-83@lists.ticalc.org <assembly-83@lists.ticalc.org>
>>     Datum: dinsdag 22 augustus 2000 18:17
>>     Onderwerp: A83: Re: LDIR timing / saferam1
>>
>>
>>     The correct timing for LDIR is 21*BC+16.  Keep in mind that in terms
>of
>> the actual time it takes to go through the complete command, it may be
>> longer if interrupts are enabled.  Interrupts can occur i the middle of
an
>> LDIR command.
>>
>>     Saferam1 (aka savesscreen) is a 768 byte area that you can use for
>> whatever you want.  If it's crashing due to you loading there, it means
>> you're probably loading past the boundaries of the memory block.  TIOS
>does
>> not care what sort of data you leave there.  Also keep in mind that the
>> address is not the same on the 83 and 83 Plus, so if you're trying to do
>> something on the 83 Plus, don't load directly to 8265h, load to the
>> SavesScreen equate.
>>
>>     Hope this helps,
>>     -Dan Englender
>>         ----- Original Message -----
>>         From: Frank Schoep
>>         To: assembly-83@lists.ticalc.org
>>         Sent: Tuesday, August 22, 2000 11:37 AM
>>         Subject: A83: LDIR timing / saferam1
>>
>>
>>         My problems with the AND sprite routine have been solved. I've
now
>> got a fully functional AND XOR routine that is very fast. I still want to
>> know what the correct timing is for LDIR (1+21*[bc] ?). Also, when I
write
>> 768 bytes of data to the saferam1 location (8265h), my program scews up
>> sometimes when I quit it. This only happens when I write/read a lot of
>times
>> to this location. Should the APD(?) ram at that position be rewritten by
>> 0's, or is the 'safe ram' not as safe as stated?
>>
>>         Thanks in advance,
>>         Frank Schoep
>>
>>
>
>




Follow-Ups: