]> git.sur5r.net Git - cc65/commit
Create static drivers directly from source files.
authorOliver Schmidt <ol.sc@web.de>
Wed, 4 Jun 2014 21:50:18 +0000 (23:50 +0200)
committerOliver Schmidt <ol.sc@web.de>
Wed, 4 Jun 2014 21:50:18 +0000 (23:50 +0200)
commit2c975d36424c4d04e998f8f8b1633ad56ed9476a
treec053924095bd27f334ebce9246b68eb6bdd98876
parent2bc46348608716d21027ea622dc6f347e6c076b4
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').
79 files changed:
asminc/module.mac [new file with mode: 0644]
doc/ca65.sgml
libsrc/Makefile
libsrc/apple2/emd/a2.auxmem.s
libsrc/apple2/joy/a2.stdjoy.s
libsrc/apple2/mou/a2.stdmou.s
libsrc/apple2/ser/a2.ssc.s
libsrc/apple2/tgi/a2.hi.s
libsrc/apple2/tgi/a2.lo.s
libsrc/atari/emd/atr130.s
libsrc/atari/joy/atrmj8.s
libsrc/atari/joy/atrstd.s
libsrc/atari/mou/atrjoy.s
libsrc/atari/mou/atrst.s
libsrc/atari/mou/atrtt.s
libsrc/atari/ser/atrrdev.s
libsrc/atari/tgi/atari_tgi_common.inc
libsrc/atari5200/joy/atr5200std.s
libsrc/atmos/joy/atmos-pase.s
libsrc/atmos/ser/atmos-acia.s
libsrc/atmos/tgi/atmos-228-200-3.s
libsrc/atmos/tgi/atmos-240-200-2.s
libsrc/c128/emd/c128-georam.s
libsrc/c128/emd/c128-ram.s
libsrc/c128/emd/c128-ram2.s
libsrc/c128/emd/c128-ramcart.s
libsrc/c128/emd/c128-reu.s
libsrc/c128/emd/c128-vdc.s
libsrc/c128/joy/c128-ptvjoy.s
libsrc/c128/joy/c128-stdjoy.s
libsrc/c128/mou/c128-1351.s
libsrc/c128/mou/c128-inkwell.s
libsrc/c128/mou/c128-joy.s
libsrc/c128/mou/c128-pot.s
libsrc/c128/ser/c128-swlink.s
libsrc/c128/tgi/c128-vdc.s
libsrc/c128/tgi/c128-vdc2.s
libsrc/c16/emd/c16-ram.s
libsrc/c16/joy/c16-stdjoy.s
libsrc/c64/emd/c64-c256k.s
libsrc/c64/emd/c64-dqbb.s
libsrc/c64/emd/c64-georam.s
libsrc/c64/emd/c64-isepic.s
libsrc/c64/emd/c64-ram.s
libsrc/c64/emd/c64-ramcart.s
libsrc/c64/emd/c64-reu.s
libsrc/c64/emd/c64-vdc.s
libsrc/c64/emd/dtv-himem.s
libsrc/c64/joy/c64-hitjoy.s
libsrc/c64/joy/c64-numpad.s
libsrc/c64/joy/c64-ptvjoy.s
libsrc/c64/joy/c64-stdjoy.s
libsrc/c64/mou/c64-1351.s
libsrc/c64/mou/c64-inkwell.s
libsrc/c64/mou/c64-joy.s
libsrc/c64/mou/c64-pot.s
libsrc/c64/ser/c64-swlink.s
libsrc/c64/tgi/c64-hi.s
libsrc/cbm510/emd/cbm510-ram.s
libsrc/cbm510/joy/cbm510-std.s
libsrc/cbm510/mou/cbm510-inkwl.s
libsrc/cbm510/mou/cbm510-joy.s
libsrc/cbm510/ser/cbm510-std.s
libsrc/cbm610/emd/cbm610-ram.s
libsrc/cbm610/ser/cbm610-std.s
libsrc/geos-cbm/emd/geos-vdc.s
libsrc/geos-cbm/joy/geos-stdjoy.s
libsrc/geos-cbm/tgi/geos-tgi.s
libsrc/lynx/joy/lynx-stdjoy.s
libsrc/lynx/ser/lynx-comlynx.s
libsrc/lynx/tgi/lynx-160-102-16.s
libsrc/nes/joy/nes-stdjoy.s
libsrc/nes/tgi/nes-64-56-2.s
libsrc/pet/joy/pet-ptvjoy.s
libsrc/pet/joy/pet-stdjoy.s
libsrc/plus4/joy/plus4-stdjoy.s
libsrc/plus4/ser/plus4-stdser.s
libsrc/vic20/joy/vic20-ptvjoy.s
libsrc/vic20/joy/vic20-stdjoy.s