X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fcc65.h;h=9b7b69a0e177bb8f253987be437df2147e576880;hb=2a9bb0d8de76a69fa3c92f0bb7bb12b198ba7ef2;hp=47d21cea9579909932e6fe900cc96b7ca9be3f86;hpb=100c470727ae015eb4d6d57dd4b1cc21c736d520;p=cc65 diff --git a/include/cc65.h b/include/cc65.h index 47d21cea9..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,23 +39,56 @@ /*****************************************************************************/ -/* Code */ +/* Code */ /*****************************************************************************/ -unsigned long __fastcall__ cc65_umul16x16r32 (unsigned rhs, unsigned lhs); +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. +*/ 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. +*/