X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fcc65.h;h=9b7b69a0e177bb8f253987be437df2147e576880;hb=554448a1f1c1e5daf72193c9609bf1112fc43ce9;hp=8a555080399338bcc974db537ae01334732d1b2b;hpb=4e4beef8b76e9c9c0d9c2271058f082682b3f917;p=cc65 diff --git a/include/cc65.h b/include/cc65.h index 8a5550803..9b7b69a0e 100644 --- a/include/cc65.h +++ b/include/cc65.h @@ -6,7 +6,7 @@ /* */ /* */ /* */ -/* (C) 2009, Ullrich von Bassewitz */ +/* (C) 2009-2011, Ullrich von Bassewitz */ /* Roemerstrasse 52 */ /* D-70794 Filderstadt */ /* EMail: uz@cc65.org */ @@ -39,20 +39,56 @@ /*****************************************************************************/ -/* Code */ +/* Code */ /*****************************************************************************/ -extern int __fastcall__ cc65_sin (unsigned x); +long __fastcall__ cc65_idiv32by16r16 (long rhs, int lhs); +/* Divide a 32 bit signed value by a 16 bit signed value yielding a 16 +** bit result and a 16 bit remainder. The former is returned in the lower 16 +** bit of the result, the latter in the upper. If you don't need the +** remainder, just assign (or cast) to an int. +*/ + +unsigned long __fastcall__ cc65_udiv32by16r16 (unsigned long rhs, unsigned lhs); +/* Divide a 32 bit unsigned value by a 16 bit unsigned value yielding a 16 +** bit result and a 16 bit remainder. The former is returned in the lower 16 +** bit of the result, the latter in the upper. If you don't need the +** remainder, just assign (or cast) to an unsigned. +*/ + +int __fastcall__ cc65_imul8x8r16 (signed char lhs, signed char rhs); +/* Multiplicate two signed 8 bit to yield an signed 16 bit result */ + +long __fastcall__ cc65_imul16x16r32 (int lhs, int rhs); +/* Multiplicate two signed 16 bit to yield a signed 32 bit result */ + +unsigned __fastcall__ cc65_umul8x8r16 (unsigned char lhs, unsigned char rhs); +/* Multiplicate two unsigned 8 bit to yield an unsigned 16 bit result */ + +unsigned long __fastcall__ cc65_umul16x8r32 (unsigned lhs, unsigned char rhs); +/* Multiplicate an unsigned 16 bit by an unsigned 8 bit number yielding a 24 +** bit unsigned result that is extended to 32 bits for easier handling from C. +*/ + +unsigned long __fastcall__ cc65_umul16x16r32 (unsigned lhs, unsigned rhs); +/* Multiplicate two unsigned 16 bit to yield an unsigned 32 bit result */ + +int __fastcall__ cc65_sin (unsigned x); /* Return the sine of the argument, which must be in range 0..360. The result - * is in 8.8 fixed point format, which means that 1.0 = $100 and -1.0 = $FF00. - */ +** is in 8.8 fixed point format, which means that 1.0 = $100 and -1.0 = $FF00. +*/ -extern int __fastcall__ cc65_cos (unsigned x); +int __fastcall__ cc65_cos (unsigned x); /* Return the cosine of the argument, which must be in range 0..360. The result - * is in 8.8 fixed point format, which means that 1.0 = $100 and -1.0 = $FF00. - */ +** is in 8.8 fixed point format, which means that 1.0 = $100 and -1.0 = $FF00. +*/ + +unsigned char doesclrscrafterexit (void); +/* Indicates whether the screen automatically be cleared after program +** termination. +*/