1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-26 05:29:30 +00:00
cc65 - a freeware C compiler for 6502 based systems
Go to file
Jesse Rosenstock 5db74b4b19 Use u16 codegen for u8 x u8 ops
In g_typeadjust, before we apply the integral promotions, we check if
both types are unsigned char.  If so, we promote to unsigned int, rather
than int, which would be chosen by the standard rules.  This is only a
performance optimization and does not affect correctness, as the flags
returned by g_typeadjust are only used for code generation, and not to
determine types of other expressions containing this one.  All unsigned
char bit-patterns are valid as both int and unsigned int and represent
the same value, so either signed or unsigned int operations can be used.
This special case part is not duplicated by ArithmeticConvert.

Partial fix for #1308.
2020-11-09 21:19:22 +01:00
asminc Updated the cx16 library to the upstream project's prerelease 38. 2020-10-17 14:48:01 -04:00
cfg atarixl configs: make size of CHARGEN configurable 2020-10-29 17:43:49 +01:00
doc Made two GEOS directory functions return NULL if they can't give a valid entry. 2020-10-29 18:06:01 -04:00
include atari.h, atari5200.h: style fixes 2020-10-28 21:12:32 +01:00
libsrc Updated a comment about Kernal's STATUS variable. 2020-11-08 17:45:54 -05:00
samples Adjusted to recent change in time.h 2020-10-25 21:33:08 +01:00
src Use u16 codegen for u8 x u8 ops 2020-11-09 21:19:22 +01:00
targettest makefile cleanup 2020-10-16 15:50:18 +02:00
test Use u16 codegen for u8 x u8 ops 2020-11-09 21:19:22 +01:00
util Removed unnecessary tool. 2020-07-19 13:16:29 +02:00
.gitattributes Added .gitattributes to force LF line endings on commit. 2017-03-12 18:13:18 +01:00
.gitignore Don't ignore more than necessary. 2016-06-01 22:36:38 +02:00
.travis.yml Fixed Windows path notation. 2020-08-02 17:49:18 +02:00
LICENSE Simplified license. 2015-05-05 21:56:23 +02:00
Makefile Added test target. 2020-07-22 23:27:04 +02:00
Makefile.travis The doc now lives in the 'master' branch of the 'doc' project. 2018-09-18 23:39:11 +02:00
README.md Normalized Atari naming. 2020-02-17 11:07:52 +01:00

Windows Snapshot

Documentation

Wiki

Build Status

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.
  • the Atari 2600 console.
  • the Atari 5200 console.
  • GEOS for the C64, C128 and Apple //e.
  • the Bit Corporation Gamate console.
  • the NEC PC-Engine (aka TurboGrafx-16) console.
  • the Nintendo Entertainment System (NES) console.
  • the Watara Supervision console.
  • the VTech Creativision console.
  • the Oric Atmos.
  • the Oric Telestrat.
  • the Lynx console.
  • the Ohio Scientific Challenger 1P.

The libraries are fairly portable, so creating a version for other 6502s shouldn't be too much work.