1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-07 07:29:33 +00:00
cc65 - a freeware C compiler for 6502 based systems
Go to file
Oliver Schmidt 2c975d3642 Create static drivers directly from source files.
Up to now static drivers were created via co65 from dynamic drivers. However there was an issue with that approach:

The dynamic drivers are "o65 simple files" which obligates that they start with the 'code' segment. However dynamic drivers need to start with the module header - which is written to. For dynamic drivers this isn't more than a conceptual issue because they are always contain a 'data' segment and may therefore only be loaded into writable memory.

However when dynamic drivers are converted to static drivers using co65 then that issue becomes a real problem as then the 'code' segment may end up in non-writable memory - and thus writing to the module header fails.

Instead of changing the way dynamic drivers work I opted to rather make static driver creation totally independent from dynamic drivers. This allows to place the module header in the 'data' segment (see 'module.mac').
2014-06-04 23:50:18 +02:00
asminc Create static drivers directly from source files. 2014-06-04 23:50:18 +02:00
cfg Merge pull request #122 from groessler/a5200 2014-05-30 22:52:51 +02:00
doc Create static drivers directly from source files. 2014-06-04 23:50:18 +02:00
include set DYN_DRV to 0; define atr5200std_joy 2014-05-31 19:44:10 +02:00
libsrc Create static drivers directly from source files. 2014-06-04 23:50:18 +02:00
samples don't define DYN_DRV for targets which don't predefine it 2014-06-01 19:18:57 +02:00
src Merge pull request #122 from groessler/a5200 2014-05-30 22:52:51 +02:00
testcode fix last change 2014-06-02 08:41:35 +02:00
util Moved ca65html out of the src directory. 2014-01-31 22:27:40 +01:00
.gitignore Added info directory. 2014-03-24 15:25:12 +02:00
.travis.yml Removed references to $TRAVIS from Makefiles. 2014-03-16 21:32:18 +01:00
LICENSE Added "the usual suspects". 2013-03-21 22:23:38 +01:00
Makefile Create zip file. 2014-03-09 00:20:17 +01:00
Makefile.gh-pages Replaced date with Git hash. 2014-03-18 22:41:32 +01:00
README.md Added Apple GEOS to the list of targets. 2014-06-01 18:27:52 +02:00

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 5200 console.
  • GEOS for the C64, C128 and Apple //e.
  • the Nintendo Entertainment System (NES) console.
  • 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.