Cc65
| cc65 | |
|---|---|
| Developer | Ullrich von Bassewitz |
| Initial release | November 15, 1998[1] |
| Stable release | 2.19[2] |
| Written in | ANSI C |
| Operating system | Multiplatform |
| Type | Cross compiler |
| License | zlib License |
| Website | cc65 |
| Repository | |
cc65 is a cross development package for 6502 and 65C02 targets, including a macro assembler, a C cross compiler, linker, librarian and several other tools.
Overview
cc65 is based on a native C compiler that was originally adapted for the Atari 8-bit computers by John R. Dunning in 1989, which originated as a Small-C descendant. It has several extensions, and some of the limits of the original Small C compiler are gone.
The toolkit has largely been expanded by Ullrich von Bassewitz and other contributors. The actual cc65 compiler, a complete set of binary tools (assembler, linker, etc.) and runtime library are under a license identical to zlib's.[3]
The compiler itself comes close to ANSI C compatibility, while C library features depend on the target platform's hardware. stdio is supported on many platforms, as is Borland-style conio.h screen handling. GEOS is also supported on the Commodore 64 and the Apple II. The library supports Commodore 8-bit systems, Apple II, Atari 8-bit computers, Oric Atmos, Nintendo Entertainment System,[4][5] Watara Supervision game console, Synertek Systems SYM-1 and Ohio Scientific Challenger 1P.[6]
Officially supported host systems include Linux, Windows, MS-DOS and OS/2, but the source code itself has been reported[by whom?] to work almost unmodified on many platforms beside these.
The ca65 macro assembler supports 6502, 65C02, and 65C816 processors, and can be used standalone without the C compiler.[7]
Supported API
static
- conio (text-based console I/O non-scrolling)
- dio (block-oriented disk I/O bypassing the file system)
dynamic
- em (expanded memory, used for all kinds of memory beyond the 6502's 64K barrier, similar EMS)
- joystick (relative input devices)
- mouse (absolute input devices)
- serial (communication)
- tgi (2D graphics primitives inspired by BGI)
| conio | dio | emd | joy | mou | ser | tgi | |
|---|---|---|---|---|---|---|---|
| apple2 | Yes | Yes | 1 | 1 | 1 | 1 | 2 |
| apple2enh | Yes | Yes | 1 | 1 | 1 | 1 | 2 |
| atari | Yes | Yes | 2 | 15[8] | |||
| atmos | Yes | 1 | |||||
| c16 | Yes | 1 | 1 | ||||
| c64 | Yes | 6 | 4 | 3 | 1 | 1 | |
| c128 | Yes | 5 | 2 | 3 | 1 | 2 | |
| cbm510 | Yes | 1 | 1 | 1 | |||
| cbm610 | Yes | 1 | 1 | ||||
| geos | Yes | Yes | 1 | 1 | 1 | ||
| lynx | 1 | 1 | 1 | ||||
| nes | Yes | 1 | 1 | ||||
| osic1p | Yes | ||||||
| pet | Yes | 1 | |||||
| plus4 | Yes | 1 | 1 | ||||
| supervision | |||||||
| sym1 | |||||||
| vic20 | Yes | 2 |
Note: For static libraries, "Yes" means the feature is available. For dynamic libraries, the columns list the number of available drivers.
References
- ^ C=Hacking #17 first mention
- ^ "Release 2.19". 20 November 2020. Retrieved 8 December 2020.
- ^ "Simplified license. · cc65/Cc65@aeb8492". GitHub.
- ^ Hugg, Steven (2019). Making Games for the NES. Amazon Digital Services LLC. pp. 231–232. ISBN 9781075952722.
- ^ Cruise, Tony (2024). Classic Game Programming on the NES. Manning Publications. p. 268. ISBN 9781633438019.
- ^ "Ohio Scientific-specific information for cc65".
- ^ von Bassewitz, Ullrich; King, Greg. "ca65 Users Guide".
- ^ By Fatih Aygün. CIRCLE doesn't work at all, some graphics modes may crash on some machines.
External links
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.