Re: [cc65] Scrolling

Date view Thread view Subject view

From: Ullrich von Bassewitz (uz_at_musoftware.de)
Date: 2001-08-12 15:57:46


Hi!

On Sun, Aug 12, 2001 at 03:38:10PM +0200, groepaz wrote:
> mmmmh just curious.... shouldn't library-calls be independent of the kernal?
> (as in, cscroll() couldnt just call the respective kernal routine?)
> just wondering 'coz you are using kernal calls in your tip.... (and eg
> $ffd2 also wouldnt exactly be the 'correct' routine to use since -we
> had that topic just one mail before ;D- it is _file_ i/o ;=))

If cscroll() would be a conio function, it could use whatever is available on
the specific machine, since the implementation is machine specific anyway. In
case of the C64 this means that kernal calls are ok. Other conio functions do
also use kernal calls on the C64.

In general, if you specify "-t c64" on the command line, you get a machine
specific memory layout and a library targeted for this layout. Library
routines can and will use knowledge about this memory layout to make the code
faster and/or smaller.

On the other side, if you look from the outside at a library function, it
should behave identical on all available platforms (as long as this is
possible). Taking gotoxy() as an example:

  * It is implemented different for almost any of the supported machines,

  * it behaves identically, that is the cursor is placed at the given
    position, but

  * since the different systems have a different screen resolution, the
    behaviour differs slightly where necessary.

Since Dominique asked for a PET, and since it is not possible to write a
portable cscroll() anyway, I added CBM specific kernal calls.

Regards


        Uz


--
Ullrich von Bassewitz                                  uz_at_musoftware.de
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo_at_musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.


Date view Thread view Subject view

This archive was generated by hypermail 2.1.3 : 2001-12-14 22:05:41 CET