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: