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


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

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




OK, I've copied the Ion source, it works OK, except the fact that your
fastline routine shifts/draws the lines in a different way. When using
Iline, the lines are drawn different (the bits are shifted in different
ways, it seems). It is difficult to explain, but diagonal lines drawn with
Iline are different from those drawn with your routine...

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 18:24
Onderwerp: 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
>> >>
>> >>
>> >
>> >
>>
>>
>
>