1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-15 17:30:06 +00:00
cc65 - a freeware C compiler for 6502 based systems
Go to file
Curt J. Sampson 128991d868 libsrc/*/kplot.s: Use cbm_kernal.inc symbols, not hardcoded addrs
On C64, VIC-20 and Plus/4, the conio library PLOT routine uses direct
calls into the Kernal, including the Kernal PLOT routine that we're
replacing. These were previously hardcoded addresses; we change these
to use the symbols for those routines defined in cbm_kernal.inc. (This
changes no functionality.)

To do this, we need to import cbm_kernal.inc in a namespace so we
don't have a collision between the PLOT that we're defining and the
Kernal definition.

We also add a UPDCRAMPTR symbol (used by kplot for VIC-20 and C64) to
the direct entry kernal routines in in cbm_kernal.inc, and expand the
comments describing what the "direct entry" Kernal routines are.

<greg.king5@verizon.net> (GitHub: greg-king5) came up with this idea
and did initial testing of it.

This has been tested on VICE xvic, x64 and xplus4 emulators with a
program that does a cputs() call (github.com/0cjs/vic20cc65) to
confirm that it works the same way after as it did before.
2019-10-25 16:03:38 -04:00
asminc libsrc/*/kplot.s: Use cbm_kernal.inc symbols, not hardcoded addrs 2019-10-25 16:03:38 -04:00
cfg Init is no longer in crt0.s 2019-10-09 17:01:02 +02:00
doc Fixed a typo in the cx16 document. 2019-09-30 10:41:21 -04:00
include Added VERA peek() and poke() to the cx16 library. 2019-10-24 05:15:42 -04:00
libsrc libsrc/*/kplot.s: Use cbm_kernal.inc symbols, not hardcoded addrs 2019-10-25 16:03:38 -04:00
samples Added new program descriptions to the list. 2019-10-11 10:48:56 -04:00
src Fixed error handling for missing names in ld65 configure files. 2019-10-12 07:59:49 -04:00
test Allowed old-style (K and R) function declarations to be fastcall. 2019-07-22 09:26:23 -04:00
testcode Created a target and a library for the Commander X16 prototype computer. 2019-09-27 03:38:51 -04:00
util util/zlib/deflater: Fix several compiler warnings. 2019-06-19 19:01:30 +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 Migrate 'encrypted variables' variables to 'repository settings'. 2017-05-17 20:56:21 +02:00
LICENSE Simplified license. 2015-05-05 21:56:23 +02:00
Makefile Added "html" and "info" goals to the top-level Makefile. 2017-05-24 18:49:02 -04: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 Switch to https links. 2018-09-20 12:21:58 +02: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.