cc65
Utvecklare | Ullrich von Bassewitz |
---|---|
Initial release | 15 november 1998 |
Stabil frisättning | 2.19 / 20 november 2020
|
Förvar | |
Skrivet i | ANSI C |
Operativ system | Multiplattform |
Typ | Korskompilator |
Licens | zlib licens |
Hemsida |
cc65 är ett korsutvecklingspaket för 6502- och 65C02 -mål, inklusive en makrosamlare , en C- korskompilator , länkare , bibliotekarie och flera andra verktyg .
Översikt
cc65 är baserad på en inbyggd C-kompilator som ursprungligen anpassades för Atari 8-bitars datorer av John R. Dunning 1989, som har sitt ursprung som en Small C -ättling. Den har flera tillägg, och några av gränserna för den ursprungliga Small C-kompilatorn är borta.
Verktygslådan har till stor del utökats av Ullrich von Bassewitz och andra bidragsgivare. Den faktiska cc65-kompilatorn, en komplett uppsättning binära verktyg (assembler, linker, etc.) och runtime-bibliotek är under en licens som är identisk med zlib 's.
Kompilatorn i sig kommer nära ANSI C- kompatibilitet, medan C-bibliotekets funktioner beror på målplattformens hårdvara. stdio stöds på många plattformar, liksom Borland -stil conio.h skärmhantering. GEOS stöds också på Commodore 64 och till och med Apple II . Biblioteket stöder många av Commodore-plattformarna ( C64 , C128 , C16/116 / Plus/4 , P500 och 600/700-familjen ), Apple II-familjen , Atari 8-bitarsfamiljen , Oric Atmos , Nintendo Entertainment System , Watara Supervision spelkonsol , Synertek Systems SYM-1 och Ohio Scientific Challenger 1P.
Officiellt stödda värdsystem inkluderar Linux , Microsoft Windows , MS-DOS och OS/2 , men själva källkoden har rapporterats [ av vem? ] att fungera nästan oförändrat på många plattformar vid sidan av dessa.
ca65 macro assembler stöder 6502 , 65C02 och 65C816 processorer och kan användas fristående utan C-kompilatorn.
API som stöds
statisk
- conio (textbaserad konsol I/O icke-rullande)
- dio (blockorienterad disk I/O som går förbi filsystemet)
dynamisk
- em (utökat minne, används för alla typer av minne bortom 6502:ans 64K-barriär, liknande EMS )
- joystick (relativa indataenheter)
- mus (absoluta inmatningsenheter)
- seriell (kommunikation)
- tgi (2D-grafikprimitiver inspirerade av BGI )
conio | dio | emd | glädje | mou | ser | tgi | |
---|---|---|---|---|---|---|---|
äpple 2 | Ja | Ja | 1 | 1 | 1 | 1 | 2 |
apple2enh | Ja | Ja | 1 | 1 | 1 | 1 | 2 |
atari | Ja | Ja | 2 | 15 | |||
atmosfär | Ja | 1 | |||||
c16 | Ja | 1 | 1 | ||||
c64 | Ja | 6 | 4 | 3 | 1 | 1 | |
c128 | Ja | 5 | 2 | 3 | 1 | 2 | |
cbm510 | Ja | 1 | 1 | 1 | |||
cbm610 | Ja | 1 | 1 | ||||
geos | Ja | Ja | 1 | 1 | 1 | ||
lodjur | 1 | 1 | 1 | ||||
nes | Ja | 1 | 1 | ||||
osi | Ja | ||||||
sällskapsdjur | Ja | 1 | |||||
plus4 | Ja | 1 | 1 | ||||
övervakning | |||||||
sym1 | |||||||
vic20 | Ja | 2 |
Obs: För statiska bibliotek betyder "Ja" att funktionen är tillgänglig. För dynamiska bibliotek visar kolumnerna antalet tillgängliga drivrutiner.