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


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

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
>
>




References: