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: