mirror of
https://github.com/cc65/cc65.git
synced 2025-01-11 11:30:13 +00:00
Oliver Schmidt
d242afdf7e
Added sprintf() test contributed by Ullrich von Bassewitz.
Comment from the author: Some may remember that there was a problem with printf reported a long time ago. I got curious and over the weekend, I wrote a program to test printf. Or better: The underlying formatting code, which is used for the whole printf() family of functions including cprintf and sprintf. The result is what made me say "oops": The program tests 377 different conversions. The cc65 printf implementation fails in 144 cases. In 31 of these cases, it fails so badly that it outputs screens of garbage, or even crashes the machine, so I had to disable these tests to proceed. Please note that you can compile the code with gcc for x86, but it will show failures. This is because the expected results are hardcoded and the integer sizes of gcc are different, so the conversion results won't match the ones expected in the code.
cc65 is a complete cross development package for 65(C)02 systems, including a powerful macro assembler, a C compiler, linker, librarian and several other tools. cc65 has C and runtime library support for many of the old 6502 machines, including - the following Commodore machines: VIC20 C16/C116 and Plus/4 C64 C128 CBM 510 (aka P500) the 600/700 family newer PET machines (not 2001). - the Apple ][+ and successors. - the Atari 8 bit machines. - GEOS for the C64 and C128. - the Nintendo Entertainment System (NES). - the Supervision console. - the Oric Atmos. - the Lynx console. The libraries are fairly portable, so creating a version for other 6502s shouldn't be too much work.
Description
Languages
C
62.4%
Assembly
35.6%
PHP
0.7%
Makefile
0.6%
Perl
0.3%
Other
0.3%