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


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

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




It uses a getpixel routine.  In this case it's the internal MirageOS
getpixel routine (since that line routine is part of MirageOS's line
routine), but it's the same as the Ion getpixel routine.  Your two choices
are to use Ion/MirageOS and then you can use the builtin routine provided by
these shells, or you can open the up the Ion source and copy/paste the get
pixel routine into your source.

-Dan Englender

----- Original Message -----
From: "Frank Schoep" <dsfs98@concepts.nl>
To: <assembly-83@lists.ticalc.org>
Sent: Wednesday, August 23, 2000 12:19 PM
Subject: 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
> >>
> >>
> >
> >
>
>




References: