]> git.sur5r.net Git - cc65/commitdiff
Merge remote-tracking branch 'upstream/master' into a5200
authorChristian Groessler <chris@groessler.org>
Wed, 19 Mar 2014 23:24:11 +0000 (00:24 +0100)
committerChristian Groessler <chris@groessler.org>
Wed, 19 Mar 2014 23:24:11 +0000 (00:24 +0100)
543 files changed:
.gitignore
.travis.yml
Makefile
Makefile.gh-pages [new file with mode: 0644]
README.md
cfg/atari-cassette.cfg [new file with mode: 0644]
cfg/lynx-bll.cfg
cfg/lynx-coll.cfg
cfg/lynx-uploader.cfg
cfg/lynx.cfg
doc/Makefile
doc/apple2.sgml
doc/apple2enh.sgml
doc/atari.sgml
doc/ca65.sgml
doc/cc65.sgml
doc/grc65.sgml
include/c128.h
libsrc/Makefile
libsrc/apple2/targetutil/Makefile.inc
libsrc/apple2/targetutil/loader.txt [deleted file]
libsrc/atari/cashdr.s [new file with mode: 0644]
libsrc/atari/casinit.s [new file with mode: 0644]
libsrc/atari/crt0.s
libsrc/atari/get_tv.s [new file with mode: 0644]
libsrc/atari/targetutil/Makefile.inc [new file with mode: 0644]
libsrc/atari/targetutil/w2cas.c [new file with mode: 0644]
libsrc/atari/tvtype.s [deleted file]
libsrc/c128/mou/c128-1351.s
libsrc/c128/mou/c128-joy.s
libsrc/c128/mou/c128-pot.s
libsrc/c64/mou/c64-joy.s
libsrc/c64/mou/c64-pot.s
libsrc/geos-apple/targetutil/Makefile.inc
libsrc/lynx/defdir.s
libsrc/nes/Makefile.inc
src/Makefile
src/ar65/add.c
src/ar65/add.h
src/ar65/del.c
src/ar65/del.h
src/ar65/error.c
src/ar65/error.h
src/ar65/exports.c
src/ar65/exports.h
src/ar65/extract.c
src/ar65/extract.h
src/ar65/fileio.c
src/ar65/fileio.h
src/ar65/global.c
src/ar65/global.h
src/ar65/library.c
src/ar65/library.h
src/ar65/list.c
src/ar65/list.h
src/ar65/main.c
src/ar65/objdata.c
src/ar65/objdata.h
src/ar65/objfile.c
src/ar65/objfile.h
src/ca65/anonname.c
src/ca65/anonname.h
src/ca65/asserts.c
src/ca65/asserts.h
src/ca65/condasm.c
src/ca65/condasm.h
src/ca65/dbginfo.c
src/ca65/dbginfo.h
src/ca65/ea.h
src/ca65/ea65.c
src/ca65/ea65.h
src/ca65/enum.c
src/ca65/enum.h
src/ca65/error.c
src/ca65/error.h
src/ca65/expr.c
src/ca65/expr.h
src/ca65/feature.c
src/ca65/feature.h
src/ca65/filetab.c
src/ca65/filetab.h
src/ca65/fragment.c
src/ca65/fragment.h
src/ca65/global.h
src/ca65/incpath.c
src/ca65/incpath.h
src/ca65/instr.c
src/ca65/instr.h
src/ca65/istack.c
src/ca65/istack.h
src/ca65/lineinfo.c
src/ca65/lineinfo.h
src/ca65/listing.c
src/ca65/listing.h
src/ca65/macro.c
src/ca65/macro.h
src/ca65/main.c
src/ca65/nexttok.c
src/ca65/nexttok.h
src/ca65/objcode.c
src/ca65/objcode.h
src/ca65/objfile.c
src/ca65/objfile.h
src/ca65/options.h
src/ca65/pseudo.c
src/ca65/pseudo.h
src/ca65/repeat.c
src/ca65/repeat.h
src/ca65/scanner.c
src/ca65/scanner.h
src/ca65/segdef.c
src/ca65/segdef.h
src/ca65/segment.c
src/ca65/segment.h
src/ca65/sizeof.c
src/ca65/sizeof.h
src/ca65/span.c
src/ca65/span.h
src/ca65/spool.c
src/ca65/spool.h
src/ca65/struct.c
src/ca65/struct.h
src/ca65/studyexpr.c
src/ca65/studyexpr.h
src/ca65/symbol.c
src/ca65/symbol.h
src/ca65/symentry.c
src/ca65/symentry.h
src/ca65/symtab.c
src/ca65/symtab.h
src/ca65/token.c
src/ca65/token.h
src/ca65/toklist.c
src/ca65/toklist.h
src/ca65/ulabel.c
src/ca65/ulabel.h
src/cc65/anonname.c
src/cc65/anonname.h
src/cc65/asmcode.c
src/cc65/asmcode.h
src/cc65/asmlabel.c
src/cc65/asmlabel.h
src/cc65/asmstmt.c
src/cc65/asmstmt.h
src/cc65/assignment.c
src/cc65/assignment.h
src/cc65/casenode.c
src/cc65/casenode.h
src/cc65/codeent.c
src/cc65/codeent.h
src/cc65/codegen.c
src/cc65/codegen.h
src/cc65/codeinfo.c
src/cc65/codeinfo.h
src/cc65/codelab.c
src/cc65/codelab.h
src/cc65/codeopt.c
src/cc65/codeopt.h
src/cc65/codeseg.c
src/cc65/codeseg.h
src/cc65/compile.c
src/cc65/compile.h
src/cc65/coptadd.c
src/cc65/coptadd.h
src/cc65/coptc02.c
src/cc65/coptc02.h
src/cc65/coptcmp.c
src/cc65/coptcmp.h
src/cc65/coptind.c
src/cc65/coptind.h
src/cc65/coptneg.c
src/cc65/coptneg.h
src/cc65/coptptrload.c
src/cc65/coptptrload.h
src/cc65/coptptrstore.c
src/cc65/coptptrstore.h
src/cc65/coptpush.c
src/cc65/coptpush.h
src/cc65/coptshift.c
src/cc65/coptshift.h
src/cc65/coptsize.c
src/cc65/coptsize.h
src/cc65/coptstop.c
src/cc65/coptstop.h
src/cc65/coptstore.c
src/cc65/coptstore.h
src/cc65/coptsub.c
src/cc65/coptsub.h
src/cc65/copttest.c
src/cc65/copttest.h
src/cc65/dataseg.c
src/cc65/dataseg.h
src/cc65/datatype.c
src/cc65/datatype.h
src/cc65/declare.c
src/cc65/declare.h
src/cc65/declattr.c
src/cc65/declattr.h
src/cc65/error.c
src/cc65/error.h
src/cc65/expr.c
src/cc65/expr.h
src/cc65/exprdesc.c
src/cc65/exprdesc.h
src/cc65/funcdesc.c
src/cc65/funcdesc.h
src/cc65/function.c
src/cc65/function.h
src/cc65/global.c
src/cc65/global.h
src/cc65/goto.c
src/cc65/goto.h
src/cc65/hexval.c
src/cc65/hexval.h
src/cc65/ident.c
src/cc65/ident.h
src/cc65/incpath.c
src/cc65/incpath.h
src/cc65/input.c
src/cc65/input.h
src/cc65/lineinfo.c
src/cc65/lineinfo.h
src/cc65/litpool.c
src/cc65/litpool.h
src/cc65/loadexpr.c
src/cc65/loadexpr.h
src/cc65/locals.c
src/cc65/locals.h
src/cc65/loop.c
src/cc65/loop.h
src/cc65/macrotab.c
src/cc65/macrotab.h
src/cc65/main.c
src/cc65/opcodes.c
src/cc65/opcodes.h
src/cc65/output.c
src/cc65/output.h
src/cc65/pragma.c
src/cc65/pragma.h
src/cc65/preproc.c
src/cc65/preproc.h
src/cc65/reginfo.c
src/cc65/reginfo.h
src/cc65/scanner.c
src/cc65/scanner.h
src/cc65/scanstrbuf.c
src/cc65/scanstrbuf.h
src/cc65/segments.c
src/cc65/segments.h
src/cc65/shiftexpr.c
src/cc65/shiftexpr.h
src/cc65/stackptr.c
src/cc65/stackptr.h
src/cc65/standard.c
src/cc65/standard.h
src/cc65/stdfunc.c
src/cc65/stdfunc.h
src/cc65/stdnames.c
src/cc65/stdnames.h
src/cc65/stmt.c
src/cc65/stmt.h
src/cc65/swstmt.c
src/cc65/swstmt.h
src/cc65/symentry.c
src/cc65/symentry.h
src/cc65/symtab.c
src/cc65/symtab.h
src/cc65/testexpr.c
src/cc65/testexpr.h
src/cc65/textseg.c
src/cc65/textseg.h
src/cc65/typecmp.c
src/cc65/typecmp.h
src/cc65/typeconv.c
src/cc65/typeconv.h
src/cc65/util.c
src/cc65/util.h
src/cl65.vcxproj
src/cl65/error.c
src/cl65/error.h
src/cl65/global.c
src/cl65/global.h
src/cl65/main.c
src/cl65/spawn-amiga.inc
src/cl65/spawn-unix.inc
src/cl65/spawn.h [deleted file]
src/co65/convert.c
src/co65/convert.h
src/co65/error.c
src/co65/error.h
src/co65/fileio.c
src/co65/fileio.h
src/co65/global.c
src/co65/global.h
src/co65/main.c
src/co65/model.c
src/co65/model.h
src/co65/o65.c
src/co65/o65.h
src/common/abend.c
src/common/abend.h
src/common/addrsize.c
src/common/addrsize.h
src/common/alignment.c
src/common/alignment.h
src/common/assertion.c
src/common/assertion.h
src/common/attrib.h
src/common/bitops.c
src/common/bitops.h
src/common/cddefs.h
src/common/chartype.c
src/common/chartype.h
src/common/check.c
src/common/check.h
src/common/cmdline.c
src/common/cmdline.h
src/common/coll.c
src/common/coll.h
src/common/cpu.c
src/common/cpu.h
src/common/debugflag.c
src/common/debugflag.h
src/common/exprdefs.c
src/common/exprdefs.h
src/common/fileid.c
src/common/fileid.h
src/common/filepos.c
src/common/filepos.h
src/common/filestat.c
src/common/filestat.h
src/common/filetime.c
src/common/filetime.h
src/common/filetype.c
src/common/filetype.h
src/common/fname.c
src/common/fname.h
src/common/fp.c
src/common/fp.h
src/common/fragdefs.h
src/common/gentype.c
src/common/gentype.h
src/common/hashfunc.c
src/common/hashfunc.h
src/common/hashtab.c
src/common/hashtab.h
src/common/hlldbgsym.h
src/common/inline.h
src/common/intstack.c
src/common/intstack.h
src/common/inttypes.h
src/common/libdefs.h
src/common/lidefs.h
src/common/matchpat.c
src/common/matchpat.h
src/common/mmodel.c
src/common/mmodel.h
src/common/objdefs.h
src/common/optdefs.h
src/common/print.c
src/common/print.h
src/common/scopedefs.h
src/common/searchpath.c
src/common/searchpath.h
src/common/segdefs.h
src/common/segnames.c
src/common/segnames.h
src/common/shift.c
src/common/shift.h
src/common/strbuf.c
src/common/strbuf.h
src/common/strpool.c
src/common/strpool.h
src/common/strstack.c
src/common/strstack.h
src/common/strutil.h
src/common/symdefs.h
src/common/target.c
src/common/target.h
src/common/tgttrans.c
src/common/tgttrans.h
src/common/va_copy.h
src/common/version.c
src/common/version.h
src/common/xmalloc.c
src/common/xmalloc.h
src/common/xsprintf.c
src/common/xsprintf.h
src/da65/asminc.c
src/da65/asminc.h
src/da65/attrtab.c
src/da65/attrtab.h
src/da65/code.c
src/da65/code.h
src/da65/comments.c
src/da65/comments.h
src/da65/data.c
src/da65/data.h
src/da65/error.c
src/da65/error.h
src/da65/global.c
src/da65/global.h
src/da65/handler.c
src/da65/handler.h
src/da65/infofile.c
src/da65/infofile.h
src/da65/labels.c
src/da65/labels.h
src/da65/main.c
src/da65/opc6502.c
src/da65/opc6502.h
src/da65/opc6502x.c
src/da65/opc65816.c
src/da65/opc65816.h
src/da65/opc65c02.c
src/da65/opc65c02.h
src/da65/opc65sc02.c
src/da65/opc65sc02.h
src/da65/opcdesc.h
src/da65/opchuc6280.h
src/da65/opcm740.c
src/da65/opcm740.h
src/da65/opctable.c
src/da65/opctable.h
src/da65/output.c
src/da65/output.h
src/da65/scanner.c
src/da65/scanner.h
src/da65/segment.c
src/da65/segment.h
src/ld65/asserts.c
src/ld65/asserts.h
src/ld65/bin.c
src/ld65/bin.h
src/ld65/binfmt.c
src/ld65/binfmt.h
src/ld65/cfgexpr.c
src/ld65/cfgexpr.h
src/ld65/condes.c
src/ld65/condes.h
src/ld65/config.c
src/ld65/config.h
src/ld65/dbgfile.c
src/ld65/dbgfile.h
src/ld65/dbgsyms.c
src/ld65/dbgsyms.h
src/ld65/error.c
src/ld65/error.h
src/ld65/exports.c
src/ld65/exports.h
src/ld65/expr.c
src/ld65/expr.h
src/ld65/extsyms.c
src/ld65/extsyms.h
src/ld65/fileinfo.c
src/ld65/fileinfo.h
src/ld65/fileio.c
src/ld65/fileio.h
src/ld65/filepath.c
src/ld65/filepath.h
src/ld65/fragment.c
src/ld65/fragment.h
src/ld65/global.c
src/ld65/global.h
src/ld65/library.c
src/ld65/library.h
src/ld65/lineinfo.c
src/ld65/lineinfo.h
src/ld65/main.c
src/ld65/mapfile.c
src/ld65/mapfile.h
src/ld65/memarea.c
src/ld65/memarea.h
src/ld65/o65.c
src/ld65/o65.h
src/ld65/objdata.c
src/ld65/objdata.h
src/ld65/objfile.c
src/ld65/objfile.h
src/ld65/scanner.c
src/ld65/scanner.h
src/ld65/scopes.c
src/ld65/scopes.h
src/ld65/segments.c
src/ld65/segments.h
src/ld65/span.c
src/ld65/span.h
src/ld65/spool.c
src/ld65/spool.h
src/ld65/tpool.c
src/ld65/tpool.h
src/od65/dump.c
src/od65/dump.h
src/od65/error.c
src/od65/error.h
src/od65/fileio.c
src/od65/fileio.h
src/od65/global.c
src/od65/global.h
src/od65/main.c
src/sim65/error.c
src/sim65/error.h
src/sim65/memory.h
src/sim65/paravirt.c
src/sp65/asm.c
src/sp65/asm.h
src/sp65/attr.c
src/sp65/attr.h
src/sp65/bin.c
src/sp65/bin.h
src/sp65/bitmap.c
src/sp65/bitmap.h
src/sp65/c.c
src/sp65/c.h
src/sp65/color.c
src/sp65/color.h
src/sp65/convert.c
src/sp65/convert.h
src/sp65/error.c
src/sp65/error.h
src/sp65/fileio.c
src/sp65/fileio.h
src/sp65/geosbitmap.c
src/sp65/geosicon.c
src/sp65/geosicon.h
src/sp65/input.c
src/sp65/input.h
src/sp65/koala.c
src/sp65/koala.h
src/sp65/lynxsprite.c
src/sp65/lynxsprite.h
src/sp65/main.c
src/sp65/output.c
src/sp65/output.h
src/sp65/palette.c
src/sp65/palette.h
src/sp65/pcx.c
src/sp65/pcx.h
src/sp65/pixel.h
src/sp65/raw.c
src/sp65/raw.h
src/sp65/vic2sprite.c
src/sp65/vic2sprite.h

index 5de976c325e792ded7f9ec5593013bc5e84d72b2..3e65003e4e8ab5b7d667869da62f5be64fbd49f4 100644 (file)
@@ -3,6 +3,7 @@
 /html/
 /joy/
 /lib/
+/libwrk/
 /mou/
 /ser/
 /targetutil/
index 6415238fded716637945f28f052ee9ad6e94d65c..eae13f70ef177e8e0f21c4498e65b301ddd8eb91 100644 (file)
@@ -1,11 +1,15 @@
 language:
   - c
 install:
-  - sudo apt-get install linuxdoc-tools linuxdoc-tools-info
+  - sudo apt-get install linuxdoc-tools linuxdoc-tools-info binutils-mingw-w64-i686 gcc-mingw-w64-i686
 script:
-  - make all doc
+  - make bin USER_CFLAGS=-Werror
+  - make lib QUIET=1
+  - make -C src clean
+  - make bin USER_CFLAGS=-Werror CROSS_COMPILE=i686-w64-mingw32-
+  - make doc zip
 after_success:
-  - make -C doc gh-pages
+  - make -f Makefile.gh-pages
 env:
   global:
     - secure: "h+hoQdEHGPLNwaqGKmSaM8NBRDLc2X+W05VsnNG2Feq/wPv/AiBjONNlzN7jRf6D6f3aoPXaQ2Lc3bYWdxGvFRCmwiofdxkJI9n5L8HPHLZ2lf37MQsXmGJzoTFOvjPLj73H6HlbI9Ux0El3zO6hvalxiXj6TfoZ41dbhNyvpYk="
index 5db00e7ad5b5d39312f05288ea973a4fab0062a9..e0530e9f073b3b5ab50f7d5f0ccedc8378ae855e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,8 @@
-.PHONY: all mostlyclean clean install avail unavail bin lib doc
+.PHONY: all mostlyclean clean install zip avail unavail bin lib doc
 
 .SUFFIXES:
 
-all mostlyclean clean install:
+all mostlyclean clean install zip:
        @$(MAKE) -C src    --no-print-directory $@
        @$(MAKE) -C libsrc --no-print-directory $@
        @$(MAKE) -C doc    --no-print-directory $@
diff --git a/Makefile.gh-pages b/Makefile.gh-pages
new file mode 100644 (file)
index 0000000..4c6734c
--- /dev/null
@@ -0,0 +1,21 @@
+.PHONY: all
+
+.SUFFIXES:
+
+GH_PAGES = ../gh-pages
+
+all:
+       echo $(TRAVIS_COMMIT) | zip -z cc65
+ifdef GH_TOKEN
+       git clone --branch=gh-pages https://$(GH_TOKEN)@github.com/cc65/cc65.git $(GH_PAGES)
+       cd $(GH_PAGES) && git config user.name "Oliver Schmidt"
+       cd $(GH_PAGES) && git config user.email "ol.sc@web.de"
+       cd $(GH_PAGES) && git config push.default simple
+       cd $(GH_PAGES) && $(RM) -r doc download
+       cd $(GH_PAGES) && mkdir doc download
+       cp html/*.* $(GH_PAGES)/doc
+       cp cc65.zip $(GH_PAGES)/download/cc65-snapshot-win32.zip
+       cd $(GH_PAGES) && git add -A doc download
+       cd $(GH_PAGES) && git commit -m "Updated from commit $(TRAVIS_COMMIT)."
+       cd $(GH_PAGES) && git push
+endif
index 54e6028a6c95d764b2f999325260d0e12b21120e..33101548bff4b5a56e09a8871280aee94911b107 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
-[documentation](http://oliverschmidt.github.io/cc65/doc)
+[documentation](http://cc65.github.io/cc65/doc)
 
-[![build status](https://travis-ci.org/oliverschmidt/cc65.png)](https://travis-ci.org/oliverschmidt/cc65/builds)
+[![build status](https://travis-ci.org/cc65/cc65.png)](https://travis-ci.org/cc65/cc65/builds)
 
 cc65 is a complete cross development package for 65(C)02 systems, including
 a powerful macro assembler, a C compiler, linker, librarian and several
diff --git a/cfg/atari-cassette.cfg b/cfg/atari-cassette.cfg
new file mode 100644 (file)
index 0000000..2116aec
--- /dev/null
@@ -0,0 +1,40 @@
+FEATURES {
+    STARTADDRESS: default = $0900;
+}
+SYMBOLS {
+    __STACKSIZE__:       type = weak,   value = $0800; # 2k stack
+    __RESERVED_MEMORY__: type = weak,   value = $0000;
+    __STARTADDRESS__:    type = export, value = %S;
+    _cas_hdr:            type = import;
+}
+MEMORY {
+    ZP:            file = "", define = yes, start = $0082, size = $007E;
+    RAM:           file = %O, define = yes, start = %S,    size = $BC20 - __STACKSIZE__ - __RESERVED_MEMORY__ - %S;
+}
+SEGMENTS {
+    CASHDR:    load = RAM, type = ro;
+    STARTUP:   load = RAM, type = ro,  define = yes, optional = yes;
+    LOWCODE:   load = RAM, type = ro,  define = yes, optional = yes;
+    INIT:      load = RAM, type = ro,                optional = yes;
+    CODE:      load = RAM, type = ro,  define = yes;
+    RODATA:    load = RAM, type = ro,                optional = yes;
+    DATA:      load = RAM, type = rw,                optional = yes;
+    BSS:       load = RAM, type = bss, define = yes, optional = yes;
+    ZEROPAGE:  load = ZP,  type = zp,                optional = yes;
+    EXTZP:     load = ZP,  type = zp,                optional = yes;
+}
+FEATURES {
+    CONDES: type    = constructor,
+            label   = __CONSTRUCTOR_TABLE__,
+            count   = __CONSTRUCTOR_COUNT__,
+            segment = INIT;
+    CONDES: type    = destructor,
+            label   = __DESTRUCTOR_TABLE__,
+            count   = __DESTRUCTOR_COUNT__,
+            segment = RODATA;
+    CONDES: type    = interruptor,
+            label   = __INTERRUPTOR_TABLE__,
+            count   = __INTERRUPTOR_COUNT__,
+            segment = RODATA,
+            import  = __CALLIRQ__;
+}
index 3d6cf19aae5facbb337a78e3c867e7c025101671..21967752f5f5c36db362d26415489734fbcff833 100644 (file)
@@ -12,7 +12,7 @@ MEMORY {
 SEGMENTS {
     BLLHDR:   load = HEADER, type = ro;
     STARTUP:  load = RAM,    type = ro,  define = yes;
-    LOWCODE:  load = RAM,    type = ro,                optional = yes;
+    LOWCODE:  load = RAM,    type = ro,  define = yes, optional = yes;
     INIT:     load = RAM,    type = ro,  define = yes, optional = yes;
     CODE:     load = RAM,    type = ro,  define = yes;
     RODATA:   load = RAM,    type = ro,  define = yes;
index e7a220fb3dc39f9e58920e49135362ae966302a6..b7fd787e750dde59751a8f749d3b03de2dc8f6ec 100644 (file)
@@ -18,7 +18,7 @@ SEGMENTS {
     BOOTLDR:   load = BOOT,   type = ro;
     DIRECTORY: load = DIR,    type = ro;
     STARTUP:   load = RAM,    type = ro,  define = yes;
-    LOWCODE:   load = RAM,    type = ro,                optional = yes;
+    LOWCODE:   load = RAM,    type = ro,  define = yes, optional = yes;
     INIT:      load = RAM,    type = ro,  define = yes, optional = yes;
     CODE:      load = RAM,    type = ro,  define = yes;
     RODATA:    load = RAM,    type = ro,  define = yes;
index 4a1e87bee5ba5babe0b85de25960025a1e481d9b..740a18b0a659cec1b2f14fedfdb2d0bd0cff2944 100644 (file)
@@ -20,7 +20,7 @@ SEGMENTS {
     BOOTLDR:  load = BOOT,   type = ro;
     DIRECTORY:load = DIR,    type = ro;
     STARTUP:  load = RAM,    type = ro,  define = yes;
-    LOWCODE:  load = RAM,    type = ro,                optional = yes;
+    LOWCODE:  load = RAM,    type = ro,  define = yes, optional = yes;
     INIT:     load = RAM,    type = ro,  define = yes, optional = yes;
     CODE:     load = RAM,    type = ro,  define = yes;
     RODATA:   load = RAM,    type = ro,  define = yes;
index 77345bf495955110701a4c626e8f50323b548196..2c9e76207bad08a675e09d2601b7478573e0208a 100644 (file)
@@ -18,7 +18,7 @@ SEGMENTS {
     BOOTLDR:   load = BOOT,   type = ro;
     DIRECTORY: load = DIR,    type = ro;
     STARTUP:   load = RAM,    type = ro,  define = yes;
-    LOWCODE:   load = RAM,    type = ro,                optional = yes;
+    LOWCODE:   load = RAM,    type = ro,  define = yes, optional = yes;
     INIT:      load = RAM,    type = ro,  define = yes, optional = yes;
     CODE:      load = RAM,    type = ro,  define = yes;
     RODATA:    load = RAM,    type = ro,  define = yes;
index 189fa60ee8b54fc14d9d4c8c33b5bba1789e4564..159c300210a95c6591d88f8b7928ea51b10ebc19 100644 (file)
@@ -1,8 +1,18 @@
-.PHONY: all doc html info gh-pages mostlyclean clean install
+ifneq ($(shell echo),)
+  CMD_EXE = 1
+endif
+
+.PHONY: all mostlyclean clean install zip doc html info gh-pages
 
 .SUFFIXES:
 
-ifeq ($(shell echo),)
+all mostlyclean install:
+
+ifdef CMD_EXE
+
+clean zip doc:
+
+else # CMD_EXE
 
 SGMLS := $(wildcard *.sgml)
 
@@ -11,9 +21,11 @@ TOC_LEVEL = 0
 
 TOC_LEVEL = 2
 
-GH_PAGES = ../../gh-pages
+clean:
+       $(RM) -r ../html ../info
 
-all:
+zip:
+       @cd .. && zip cc65 html/*.*
 
 doc: html info
 
@@ -21,11 +33,6 @@ html: $(addprefix ../html/,$(SGMLS:.sgml=.html) doc.css doc.png)
 
 info: $(addprefix ../info/,$(SGMLS:.sgml=.info))
 
-mostlyclean:
-
-clean:
-       $(RM) -r ../html ../info
-
 ../html ../info:
        @mkdir $@
 
@@ -38,22 +45,4 @@ clean:
 ../info/%.info: %.sgml | ../info
        @cd ../info && linuxdoc -B info ../doc/$<
 
-gh-pages: html
-ifdef GH_TOKEN
-       git clone --branch=gh-pages https://$(GH_TOKEN)@github.com/oliverschmidt/cc65.git $(GH_PAGES)
-       git --work-tree=$(GH_PAGES) --git-dir=$(GH_PAGES)/.git config user.name "Oliver Schmidt"
-       git --work-tree=$(GH_PAGES) --git-dir=$(GH_PAGES)/.git config user.email "ol.sc@web.de"
-       git --work-tree=$(GH_PAGES) --git-dir=$(GH_PAGES)/.git config push.default simple
-       $(RM) -r $(GH_PAGES)/doc
-       mkdir $(GH_PAGES)/doc
-       cp ../html/* $(GH_PAGES)/doc
-       git --work-tree=$(GH_PAGES) --git-dir=$(GH_PAGES)/.git add -A doc
-       -git --work-tree=$(GH_PAGES) --git-dir=$(GH_PAGES)/.git commit -m "Updated doc from commit $(TRAVIS_COMMIT)."
-       git --work-tree=$(GH_PAGES) --git-dir=$(GH_PAGES)/.git push
-endif
-
-else # cmd.exe
-
-all doc mostlyclean clean install:
-
-endif # cmd.exe
+endif # CMD_EXE
index ecab5c32b93466ebc75500c30bb672ef06b6a07c..940496a413fc7542ba3da33d146e869b81d39b8b 100644 (file)
@@ -45,7 +45,7 @@ containing DOS 3.3 as well as ProDOS 8.
 
 For ProDOS 8 system programs the load address is fixed to &dollar;2000 so there
 is no need for a header. Thus the linker configuration
-<htmlurl url="apple2-4.html#ss4.3" name="apple2-system.cfg"> for those programs
+<htmlurl url="apple2.html#ss4.3" name="apple2-system.cfg"> for those programs
 omits the DOS 3.3 header. The right AppleCommander option to put system files
 without a header on a ProDOS 8 disk image is <tt/-p/.
 
@@ -81,7 +81,7 @@ cc65 runtime system takes care of actually moving the code into the Language
 Card.
 
 The amount of memory available in the Language Card for generated code depends
-on the chosen <htmlurl url="apple2-4.html" name="linker configuration">.
+on the chosen <htmlurl url="apple2.html#s4" name="linker configuration">.
 
 
 
@@ -231,10 +231,9 @@ range.
 The easiest (and for really large programs in fact the only) way to have a cc65
 program use the memory from &dollar;800 to &dollar;2000 is to link it as binary
 (as opposed to system) program using the linker configuration
-<htmlurl url="apple2-4.html#ss4.4" name="apple2-loader.cfg"> with start address
-&dollar;800 and load it with <bf/LOADER.SYSTEM - an Apple&nbsp;&rsqb;&lsqb;
-ProDOS 8 loader for cc65 programs/. The program then works like a system program
-(i.e. quits to the ProDOS dispatcher).
+<htmlurl url="apple2.html#ss4.4" name="apple2-loader.cfg"> with start address
+&dollar;803 and load it with the targetutil LOADER.SYSTEM. The program then works
+like a system program (i.e. quits to the ProDOS dispatcher).
 
 Using LOADER.SYSTEM is as simple as copying it to the ProDOS 8 directory of the
 program to load under name &lt;program&gt;.SYSTEM as a system program. For
@@ -244,7 +243,7 @@ example the program <tt/MYPROG/ is loaded by <tt/MYPROG.SYSTEM/.
 <sect1>Heap<p>
 
 If the cc65 program can be successfully linked as system program using the linker
-configuration <htmlurl url="apple2-4.html#ss4.3" name="apple2-system.cfg"> but
+configuration <htmlurl url="apple2.html#ss4.3" name="apple2-system.cfg"> but
 uses the heap either explicitly or implicitly (i.e. by loading a driver) then
 the memory from &dollar;800 to &dollar;2000 can be added to the heap by calling
 <tt/_heapadd ((void *) 0x0800, 0x1800);/ at the beginning of <tt/main()/.
@@ -487,7 +486,7 @@ url="ca65.html" name="assembler manual">.
 <descrip>
 
   <tag/Drive ID/
-  The function <htmlurl url="dio-1.html" name="dio_open()"> has the single
+  The function <htmlurl url="dio.html#s1" name="dio_open()"> has the single
   parameter <tt/device/ to identify the device to be opened. Therefore an
   Apple&nbsp;II slot and drive pair is mapped to that <tt/device/ according
   to the formula
@@ -499,7 +498,7 @@ url="ca65.html" name="assembler manual">.
   so that for example slot 6 drive 2 is mapped to <tt/device/ 14.
 
   <tag/Sector count/
-  The function <htmlurl url="dio-3.html" name="dio_query_sectcount()"> returns
+  The function <htmlurl url="dio.html#s3" name="dio_query_sectcount()"> returns
   the correct sector count for all ProDOS 8 disks. However for any non-ProDOS 8
   disk it simply always returns 280 (which is only correct for a 140 KB disk).
   This condition is indicated by the <tt/_oserror/ value 82.
index f20c187fd8513fef510f7b983ac89b62ae8e27b4..87f9939279c70bd12fce6826b5460879f20471ce 100644 (file)
@@ -45,7 +45,7 @@ containing DOS 3.3 as well as ProDOS 8.
 
 For ProDOS 8 system programs the load address is fixed to &dollar;2000 so there
 is no need for a header. Thus the linker configuration
-<htmlurl url="apple2enh-4.html#ss4.3" name="apple2enh-system.cfg"> for those programs
+<htmlurl url="apple2enh.html#ss4.3" name="apple2enh-system.cfg"> for those programs
 omits the DOS 3.3 header. The right AppleCommander option to put system files
 without a header on a ProDOS 8 disk image is <tt/-p/.
 
@@ -81,7 +81,7 @@ cc65 runtime system takes care of actually moving the code into the Language
 Card.
 
 The amount of memory available in the Language Card for generated code depends
-on the chosen <htmlurl url="apple2enh-4.html" name="linker configuration">.
+on the chosen <htmlurl url="apple2enh.html#s4" name="linker configuration">.
 
 
 
@@ -231,10 +231,9 @@ range.
 The easiest (and for really large programs in fact the only) way to have a cc65
 program use the memory from &dollar;800 to &dollar;2000 is to link it as binary
 (as opposed to system) program using the linker configuration
-<htmlurl url="apple2enh-4.html#ss4.4" name="apple2enh-loader.cfg"> with start address
-&dollar;800 and load it with <bf/LOADER.SYSTEM - an Apple&nbsp;&rsqb;&lsqb;
-ProDOS 8 loader for cc65 programs/. The program then works like a system program
-(i.e. quits to the ProDOS dispatcher).
+<htmlurl url="apple2enh.html#ss4.4" name="apple2enh-loader.cfg"> with start address
+&dollar;803 and load it with the targetutil LOADER.SYSTEM. The program then works
+like a system program (i.e. quits to the ProDOS dispatcher).
 
 Using LOADER.SYSTEM is as simple as copying it to the ProDOS 8 directory of the
 program to load under name &lt;program&gt;.SYSTEM as a system program. For
@@ -244,7 +243,7 @@ example the program <tt/MYPROG/ is loaded by <tt/MYPROG.SYSTEM/.
 <sect1>Heap<p>
 
 If the cc65 program can be successfully linked as system program using the linker
-configuration <htmlurl url="apple2enh-4.html#ss4.3" name="apple2enh-system.cfg"> but
+configuration <htmlurl url="apple2enh.html#ss4.3" name="apple2enh-system.cfg"> but
 uses the heap either explicitly or implicitly (i.e. by loading a driver) then
 the memory from &dollar;800 to &dollar;2000 can be added to the heap by calling
 <tt/_heapadd ((void *) 0x0800, 0x1800);/ at the beginning of <tt/main()/.
@@ -493,7 +492,7 @@ url="ca65.html" name="assembler manual">.
 <descrip>
 
   <tag/Drive ID/
-  The function <htmlurl url="dio-1.html" name="dio_open()"> has the single
+  The function <htmlurl url="dio.html#s1" name="dio_open()"> has the single
   parameter <tt/device/ to identify the device to be opened. Therefore an
   Apple&nbsp;II slot and drive pair is mapped to that <tt/drive_id/ according
   to the formula
@@ -505,7 +504,7 @@ url="ca65.html" name="assembler manual">.
   so that for example slot 6 drive 2 is mapped to <tt/device/ 14.
 
   <tag/Sector count/
-  The function <htmlurl url="dio-3.html" name="dio_query_sectcount()"> returns
+  The function <htmlurl url="dio.html#s3" name="dio_query_sectcount()"> returns
   the correct sector count for all ProDOS 8 disks. However for any non-ProDOS 8
   disk it simply always returns 280 (which is only correct for a 140 KB disk).
   This condition is indicated by the <tt/_oserror/ value 82.
index 5e8bec72681764b2c45a15470b8ce80046c92438..51e24a239836487cf1ce1c06f16c06be37d750a5 100644 (file)
@@ -221,6 +221,16 @@ that the cartridge doesn't prevent the booting of DOS.
 The option byte will be located at address &dollar;BFFD. For more information
 about its use, see e.g. "Mapping the Atari".
 
+<sect2><tt/atari-cassette.cfg/<p>
+
+This config file can be used to create cassette boot files. It's suited both
+for C and assembly language programs.
+
+The size of a cassette boot file is restricted to 32K. Larger programs
+would need to be split in more parts and the parts to be loaded manually.
+
+To write the generated file to a cassette, a utility to run
+on an Atari is provided in the <tt/targetutil/ directory (<tt/w2cas.com/).
 
 <sect1><tt/atarixl/ config files<p>
 
index 4d4b73d38120b738b2fa10f4924cea42883aac61..364790b5270b2c2edf7cfaad5d9108a30e70248a 100644 (file)
@@ -1263,14 +1263,14 @@ writable.
   Reading this pseudo variable will give the assembler version according to
   the following formula:
 
-        VER_MAJOR*$100 + VER_MINOR*$10 + VER_PATCH
+        VER_MAJOR*$100 + VER_MINOR*$10
 
   It may be used to encode the assembler version or check the assembler for
   special features not available with older versions.
 
   Example:
 
-  Version 2.11.1 of the assembler will return $2B1 as numerical constant when
+  Version 2.14 of the assembler will return $2E0 as numerical constant when
   reading the pseudo variable <tt/.VERSION/.
 
 
index ab763271887d5937647566cf8c824ddb87ce3e89..1079782bbaa326b9d43323409d693dad84587d1b 100644 (file)
@@ -749,8 +749,8 @@ The compiler defines several macros at startup:
   <tag><tt>__CC65__</tt></tag>
 
   This macro is always defined. Its value is the version number of the
-  compiler in hex.  For example, version 2.10.1 of the compiler has this macro
-  defined as <tt/0x02A1/.
+  compiler in hex.  For example, version 2.14 of the compiler has this macro
+  defined as <tt/0x02E0/.
 
   <tag><tt>__CC65_STD__</tt></tag>
 
index 583c6f80ff25e9e17306de50bd9ab7e829dac8b8..d2433f65a797ae6b4affdec94481237d4302a860 100644 (file)
@@ -178,7 +178,7 @@ GEOS support in cc65 is based on the <em/Convert v2.5/ format, well-known in
 the GEOS world.  It means that each file built with the cc65 package has to be
 deconverted in GEOS, before it can be run.  You can read a step-by-step
 description of that in the <url name="GEOS section of the cc65 Compiler Intro"
-url="intro-6.html#ss6.5">.
+url="intro.html#ss6.5">.
 
 Each project consists of four parts, two are provided by cc65.  Those parts
 are:<enum>
index 2ca559d49a317e77dc200febac73799db62f73f5..b1ef88fa3a37ccf65ccfca5b8ae857682d23747a 100644 (file)
@@ -129,7 +129,7 @@ extern void c128_reu_emd[];
 extern void c128_vdc_emd[];
 extern void c128_ptvjoy_joy[];
 extern void c128_stdjoy_joy[];  /* Referred to by joy_static_stddrv[] */
-extern void c128_1351_mous[];   /* Referred to by mouse_static_stddrv[] */
+extern void c128_1351_mou[];    /* Referred to by mouse_static_stddrv[] */
 extern void c128_joy_mou[];
 extern void c128_inkwell_mou[];
 extern void c128_pot_mou[];
index 119fe9a057807d0ae7e67543fa1b44bfc7b5f8f7..28f39d8d36a19a3502889ec3026e1bf552873d99 100644 (file)
@@ -1,3 +1,7 @@
+ifneq ($(shell echo),)
+  CMD_EXE = 1
+endif
+
 CBMS = c128   \
        c16    \
        c64    \
@@ -30,69 +34,85 @@ DRVTYPES = emd \
            ser \
            tgi
 
-# Every target requires its individual vpath setting but the vpath directive
-# acts globally. Therefore each target is built in a separate make instance.
+OUTPUTDIRS := lib         \
+              $(DRVTYPES) \
+              targetutil  \
+              asminc      \
+              cfg         \
+              include     \
+              $(subst ../,,$(filter-out $(wildcard ../include/*.*),$(wildcard ../include/*)))
 
-ifeq ($(words $(MAKECMDGOALS)),1)
-  ifeq ($(MAKECMDGOALS),$(filter $(MAKECMDGOALS),$(TARGETS)))
-    TARGET = $(MAKECMDGOALS)
-  endif
-endif
+.PHONY: all mostlyclean clean install zip lib $(TARGETS)
 
-DIRLIST = $(strip $(foreach dir,$1,$(wildcard $(dir))))
+.SUFFIXES:
 
-ifeq ($(shell echo),)
-  MKDIR = mkdir -p $1
-  RMDIR = $(RM) -r $1
-else
+ifdef CMD_EXE
+  DIRLIST = $(strip $(foreach dir,$1,$(wildcard $(dir))))
   MKDIR = mkdir $(subst /,\,$1)
   RMDIR = $(if $(DIRLIST),rmdir /s /q $(subst /,\,$(DIRLIST)))
+else
+  MKDIR = mkdir -p $1
+  RMDIR = $(RM) -r $1
 endif
 
-.SUFFIXES:
+# Every target requires its individual vpath setting but the vpath directive
+# acts globally. Therefore each target is built in a separate make instance.
 
-.PHONY: all lib $(TARGETS) mostlyclean clean install
+ifeq ($(words $(MAKECMDGOALS)),1)
+  ifeq ($(MAKECMDGOALS),$(filter $(MAKECMDGOALS),$(TARGETS)))
+    TARGET = $(MAKECMDGOALS)
+  endif
+endif
 
 ifndef TARGET
 
 datadir = $(prefix)/share/cc65
 
-INSTALLDIRS = ../asminc ../cfg ../include \
-              $(filter-out $(wildcard ../include/*.*),$(wildcard ../include/*)) \
-              ../lib ../targetutil $(addprefix ../,$(DRVTYPES))
-
-INSTALL = install
-
 all lib: $(TARGETS)
 
-$(TARGETS):
-       @$(MAKE) --no-print-directory $@
-
 mostlyclean:
-       $(call RMDIR,../wrk)
+       $(call RMDIR,../libwrk)
 
 clean:
-       $(call RMDIR,../wrk ../lib ../targetutil $(addprefix ../,$(DRVTYPES)))
+       $(call RMDIR,../libwrk ../lib ../targetutil $(addprefix ../,$(DRVTYPES)))
+
+ifdef CMD_EXE
 
 install:
-       $(foreach dir,$(INSTALLDIRS),$(INSTALL_recipe))
 
-##########
+else # CMD_EXE
+
+INSTALL = install
 
 define INSTALL_recipe
 
 $(if $(prefix),,$(error variable `prefix' must be set))
-$(INSTALL) -d $(subst ..,$(DESTDIR)$(datadir),$(dir))
-$(INSTALL) -m644 $(dir)/*.* $(subst ..,$(DESTDIR)$(datadir),$(dir))
+$(INSTALL) -d $(DESTDIR)$(datadir)/$(dir)
+$(INSTALL) -m644 ../$(dir)/*.* $(DESTDIR)$(datadir)/$(dir)
+
+endef # INSTALL_recipe
+
+install:
+       $(foreach dir,$(OUTPUTDIRS),$(INSTALL_recipe))
 
-endef
+endif # CMD_EXE
 
-##########
+define ZIP_recipe
+
+@cd .. && zip cc65 $(dir)/*.*
+
+endef # ZIP_recipe
+
+zip:
+       $(foreach dir,$(OUTPUTDIRS),$(ZIP_recipe))
+
+$(TARGETS):
+       @$(MAKE) --no-print-directory $@
 
 else # TARGET
 
 CA65FLAGS =
-CC65FLAGS = -Osir -W error
+CC65FLAGS = -Or -W error
 
 EXTZP = cbm510 \
         cbm610 \
@@ -100,9 +120,12 @@ EXTZP = cbm510 \
 
 MKINC = $(GEOS) \
         atari   \
+        atarixl \
         nes
 
-TARGETUTIL = apple2 \
+TARGETUTIL = apple2    \
+             apple2enh \
+             atari     \
              geos-apple
 
 GEOSDIRS = common      \
@@ -160,7 +183,7 @@ vpath %.c $(SRCDIRS)
 OBJS := $(patsubst %.s,%.o,$(foreach dir,$(SRCDIRS),$(wildcard $(dir)/*.s)))
 OBJS += $(patsubst %.c,%.o,$(foreach dir,$(SRCDIRS),$(wildcard $(dir)/*.c)))
 
-OBJS := $(addprefix ../wrk/$(TARGET)/,$(sort $(notdir $(OBJS))))
+OBJS := $(addprefix ../libwrk/$(TARGET)/,$(sort $(notdir $(OBJS))))
 
 DEPS = $(OBJS:.o=.d)
 
@@ -168,30 +191,28 @@ EXTRA_SRCPAT = $(SRCDIR)/extra/%.s
 EXTRA_OBJPAT = ../lib/$(TARGET)-%.o
 EXTRA_OBJS := $(patsubst $(EXTRA_SRCPAT),$(EXTRA_OBJPAT),$(wildcard $(SRCDIR)/extra/*.s))
 
-ZPOBJ = ../wrk/$(TARGET)/zeropage.o
+ZPOBJ = ../libwrk/$(TARGET)/zeropage.o
 ifeq ($(TARGET),$(filter $(TARGET),$(EXTZP)))
-  ZPOBJ += ../wrk/$(TARGET)/extzp.o
+  ZPOBJ += ../libwrk/$(TARGET)/extzp.o
 endif
 
-ifeq ($(SRCDIR),$(filter $(SRCDIR),$(MKINC)))
+ifeq ($(TARGET),$(filter $(TARGET),$(MKINC)))
   include $(SRCDIR)/Makefile.inc
 endif
 
-ifeq ($(SRCDIR),$(filter $(SRCDIR),$(TARGETUTIL)))
+ifeq ($(TARGET),$(filter $(TARGET),$(TARGETUTIL)))
   include $(SRCDIR)/targetutil/Makefile.inc
 endif
 
-##########
-
 define DRVTYPE_template
 
 $1_SRCDIR = $$(SRCDIR)/$1
-$1_OBJDIR = ../wrk/$$(TARGET)/$1
+$1_OBJDIR = ../libwrk/$$(TARGET)/$1
 $1_DRVDIR = ../$1
 
 $1_OBJPAT = $$($1_OBJDIR)/$$(OBJPFX)%.o
 $1_DRVPAT = $$($1_DRVDIR)/$$(DRVPFX)%.$1
-$1_STCPAT = ../wrk/$$(TARGET)/$$(DRVPFX)%-$1.o
+$1_STCPAT = ../libwrk/$$(TARGET)/$$(DRVPFX)%-$1.o
 
 $1_OBJS := $$(patsubst $$($1_SRCDIR)/%.s,$$($1_OBJDIR)/%.o,$$(wildcard $$($1_SRCDIR)/*.s))
 
@@ -219,9 +240,7 @@ OBJS += $$($1_STCS)
 
 DEPS += $$($1_OBJS:.o=.d)
 
-endef
-
-##########
+endef # DRVTYPE_template
 
 $(foreach drvtype,$(DRVTYPES),$(eval $(call DRVTYPE_template,$(drvtype))))
 
@@ -233,31 +252,25 @@ LD65 := $(if $(wildcard ../bin/ld65*),../bin/ld65,ld65)
 
 export CC65_HOME := $(abspath ..)
 
-##########
-
 define ASSEMBLE_recipe
 
-$(if $(TRAVIS),,@echo $(TARGET) - $<)
+$(if $(QUIET),,@echo $(TARGET) - $<)
 @$(CA65) -t $(TARGET) $(CA65FLAGS) --create-dep $(@:.o=.d) -o $@ $<
 
-endef
-
-##########
+endef # ASSEMBLE_recipe
 
 define COMPILE_recipe
 
-$(if $(TRAVIS),,@echo $(TARGET) - $<)
+$(if $(QUIET),,@echo $(TARGET) - $<)
 @$(CC65) -t $(TARGET) $(CC65FLAGS) --create-dep $(@:.o=.d) --dep-target $@ -o $(@:.o=.s) $<
 @$(CA65) -t $(TARGET) -o $@ $(@:.o=.s)
 
-endef
-
-##########
+endef # COMPILE_recipe
 
-../wrk/$(TARGET)/%.o: %.s | ../wrk/$(TARGET)
+../libwrk/$(TARGET)/%.o: %.s | ../libwrk/$(TARGET)
        $(ASSEMBLE_recipe)
 
-../wrk/$(TARGET)/%.o: %.c | ../wrk/$(TARGET)
+../libwrk/$(TARGET)/%.o: %.c | ../libwrk/$(TARGET)
        $(COMPILE_recipe)
 
 $(EXTRA_OBJPAT): $(EXTRA_SRCPAT) | ../lib
@@ -267,7 +280,7 @@ $(EXTRA_OBJPAT): $(EXTRA_SRCPAT) | ../lib
 ../lib/$(TARGET).lib: $(OBJS) | ../lib
        $(AR65) a $@ $?
 
-../wrk/$(TARGET) ../lib ../targetutil:
+../libwrk/$(TARGET) ../lib ../targetutil:
        @$(call MKDIR,$@)
 
 $(TARGET): $(EXTRA_OBJS) ../lib/$(TARGET).lib
index 7904607b3a1c4253ab904b0231506df34f0cafeb..105a5324fb356b054f7eca182408593009dd9487 100644 (file)
@@ -1,9 +1,9 @@
-DEPS += ../wrk/$(TARGET)/loader.d
+DEPS += ../libwrk/$(TARGET)/loader.d
 
-../wrk/$(TARGET)/loader.o: $(SRCDIR)/targetutil/loader.s | ../wrk/$(TARGET)
+../libwrk/$(TARGET)/loader.o: $(SRCDIR)/targetutil/loader.s | ../libwrk/$(TARGET)
        $(ASSEMBLE_recipe)
 
-../targetutil/loader.system: ../wrk/$(TARGET)/loader.o $(SRCDIR)/targetutil/loader.cfg | ../targetutil
+../targetutil/loader.system: ../libwrk/$(TARGET)/loader.o $(SRCDIR)/targetutil/loader.cfg | ../targetutil
        $(LD65) -o $@ -C $(filter %.cfg,$^) $(filter-out %.cfg,$^)
 
 $(TARGET): ../targetutil/loader.system
diff --git a/libsrc/apple2/targetutil/loader.txt b/libsrc/apple2/targetutil/loader.txt
deleted file mode 100644 (file)
index d3ec872..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-LOADER.SYSTEM - an Apple][ ProDOS 8 loader for cc65 programs (Oliver Schmidt)
-=============================================================================
-
-
-Background
-----------
-
-Apple][ ProDOS 8 system programs (filetype SYS) are always loaded into memory
-starting at location $2000. This poses the problem of how to make efficient
-use of the memory in the range $0800-$2000. The usual approach of relocation
-has two downsides:
-- Relocating e.g. 30 kB from $2000-$9800 to $0800-$8000 takes a considerable
-  amount of time.
-- Really large programs just don't fit into memory when loaded starting at
-  location $2000.
-
-The relocation can be eliminated by loading the major part(s) of the program
-from disk right to the final location by a rather small system program.
-
-LOADER.SYSTEM is such a small program. In fact it's so small that it fits into
-a single block in the ProDOS 8 file system making it a so-called seedling file,
-which are loaded really fast. LOADER.SYSTEM can load cc65 programs into memory
-anywhere in the range $0800-$BB00 (44,75 kB).
-
-
-Usage
------
-
-Link the cc65 program to the start address $0803 (or any other address) and
-store it as binary program (filetype BIN). This is in fact no different from
-a binary program to be run by BASIC.SYSTEM's BRUN command in the usual way.
-
-If however the cc65 program isn't run by BASIC.SYSTEM but is rather run by
-LOADER.SYSTEM then it behaves like a system program which means:
-- It uses memory up to the ProDOS 8 system global page located at $BF00.
-- It supports the ProDOS 8 startup file mechanism (mapped to argv[1]).
-- It quits to the ProDOS 8 dispatcher.
-
-Obviously LOADER.SYSTEM has to be told which cc65 program to run. Unfortunately
-the ProDOS 8 dispatcher has no notion of system program parameters so the usual
-approach would have been to make LOADER.SYSTEM bring up yet another menu to
-select the cc65 program to run.
-
-But to allow to select the cc65 program directly from the ProDOS 8 dispatcher
-anyway LOADER.SYSTEM detects the path to the cc65 program from its own path by
-just removing the '.SYSTEM' from its name. So if you want to run the cc65
-program MYPROGRAM you'll need a copy of LOADER.SYSTEM in the same directory
-being renamed to MYPROGRAM.SYSTEM.
-
-This means you will end up with a copy of LOADER.SYSTEM for every cc65 program
-to be run by it. But as LOADER.SYSTEM is a ProDOS 8 seedling file using up only
-a single block in the ProDOS 8 file system this should be no issue.
-
-
-Build
------
-
-In case you want to build 'loader.system' from the source code yourself you can
-do so using the following commands:
-
-ca65 loader.s
-ld65 -C loader.cfg -o loader.system loader.o
-
-
-Installation
-------------
-
-The file 'loader.system' as generated by the cc65 linker with the command above
-does NOT include the 4-byte address/length header that is generated for Apple][
-programs by default. This is because ProDOS 8 system programs are always loaded
-into memory starting at location $2000.
-
-The recommended way to transfer 'loader.system' from your native file system to
-a ProDOS 8 file system disk image is to use AppleCommander which is available at
-http://applecommander.sourceforge.net/
-
-If you want to put the file 'loader.system' onto a disk image 'mydisk.dsk' as
-system program MYPROGRAM.SYSTEM you can do so using the following command:
-
-java -jar ac.jar -p mydisk.dsk MYPROGRAM.SYSTEM sys < loader.system
diff --git a/libsrc/atari/cashdr.s b/libsrc/atari/cashdr.s
new file mode 100644 (file)
index 0000000..99aefe6
--- /dev/null
@@ -0,0 +1,37 @@
+;
+; Cassette boot file header
+;
+; Christian Groessler, chris@groessler.org, 2014
+;
+
+;DEBUG   = 1
+
+.ifndef __ATARIXL__
+
+        .include "atari.inc"
+
+        .import __BSS_RUN__, __STARTADDRESS__, _cas_init
+        .export _cas_hdr
+
+.assert ((__BSS_RUN__ - __STARTADDRESS__ + 127) / 128) < $101, error, "File to big to load from cassette"
+
+
+; for a description of the cassette header, see De Re Atari, appendix C
+
+.segment        "CASHDR"
+
+_cas_hdr:
+        .byte   0                       ; ignored
+        .byte   <((__BSS_RUN__ - __STARTADDRESS__ + 127) / 128)         ; # of 128-byte records to read
+        .word   __STARTADDRESS__        ; load address
+        .word   _cas_init               ; init address
+
+.ifdef  DEBUG
+        lda     #33
+        ldy     #80
+        sta     (SAVMSC),y
+.endif
+        clc
+        rts
+
+.endif  ; .ifdef __ATARIXL__
diff --git a/libsrc/atari/casinit.s b/libsrc/atari/casinit.s
new file mode 100644 (file)
index 0000000..c91989a
--- /dev/null
@@ -0,0 +1,31 @@
+;
+; Cassette boot file init routine
+;
+; Christian Groessler, chris@groessler.org, 2014
+;
+
+;DEBUG   = 1
+
+.ifndef __ATARIXL__
+
+        .include "atari.inc"
+
+        .import start
+        .export _cas_init
+
+.segment        "INIT"
+
+_cas_init:
+.ifdef  DEBUG
+        lda     #34
+        ldy     #81
+        sta     (SAVMSC),y
+.endif
+
+        lda     #<start
+        sta     DOSVEC
+        lda     #>start
+        sta     DOSVEC+1
+        rts
+
+.endif  ; .ifdef __ATARIXL__
index fb434b5deb087b6e7643a7a7130445d96a648f0b..ec41565b5778ed5245555a8196dd356e78c74c3c 100644 (file)
@@ -100,8 +100,8 @@ start:
 
 ; Initialize conio stuff
 
-        dey                             ; Set X to $FF
-        sty     CH
+        dey                     ; Set Y to $FF
+        sty     CH              ; remove keypress which might be in the input buffer
 
 ; Push arguments and call main
 
diff --git a/libsrc/atari/get_tv.s b/libsrc/atari/get_tv.s
new file mode 100644 (file)
index 0000000..76661bf
--- /dev/null
@@ -0,0 +1,26 @@
+;
+; Christian Groessler, July 2004
+;
+; unsigned char get_tv(void)
+;
+; returns the TV system the machine is using
+; 0 - NTSC
+; 1 - PAL
+;
+
+
+        .include        "atari.inc"
+        .include        "get_tv.inc"
+
+.proc   _get_tv
+
+        ldx     #TV::NTSC       ; Assume NTSC
+        lda     PAL             ; use hw register, PALNTS is only supported on XL/XE ROM
+        and     #$0e
+        bne     @NTSC
+        inx                     ; = TV::PAL
+@NTSC:  txa
+        ldx     #0              ; Expand to int
+        rts
+
+.endproc
diff --git a/libsrc/atari/targetutil/Makefile.inc b/libsrc/atari/targetutil/Makefile.inc
new file mode 100644 (file)
index 0000000..05405f2
--- /dev/null
@@ -0,0 +1,9 @@
+DEPS += ../libwrk/$(TARGET)/w2cas.d
+
+../libwrk/$(TARGET)/w2cas.o: $(SRCDIR)/targetutil/w2cas.c | ../libwrk/$(TARGET)
+       $(COMPILE_recipe)
+
+../targetutil/w2cas.com: ../libwrk/$(TARGET)/w2cas.o ../lib/$(TARGET).lib | ../targetutil
+       $(LD65) -o $@ -t $(TARGET) $^
+
+$(TARGET): ../targetutil/w2cas.com
diff --git a/libsrc/atari/targetutil/w2cas.c b/libsrc/atari/targetutil/w2cas.c
new file mode 100644 (file)
index 0000000..050218c
--- /dev/null
@@ -0,0 +1,186 @@
+/* w2cas.c -- write file to cassette
+ *
+ * This program writes a boot file (typically linked with
+ * 'atari-cassette.cfg') to the cassette.
+ * Only files < 32K are supported, since the loading of
+ * larger files requires a special loader inside the program.
+ *
+ * Christian Groessler, chris@groessler.org, 2014
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <6502.h>
+#include <atari.h>
+#include <conio.h>
+
+static int verbose = 1;
+static char C_dev[] = "C:";
+
+static struct __iocb *findfreeiocb(void)
+{
+    struct __iocb *iocb = &IOCB;  /* first IOCB (#0) */
+    int i;
+
+    for (i = 0; i < 8; i++) {
+        if (iocb->handler == 0xff)
+            return iocb;
+        iocb++;
+    }
+    return NULL;
+}
+
+int main(int argc, char **argv)
+{
+    char *filename, *x;
+    char buf[20];
+    FILE *file;
+    unsigned char *buffer;
+    size_t filen, buflen = 32768l + 1;
+    struct regs regs;
+    struct __iocb *iocb = findfreeiocb();
+    int iocb_num;
+
+    if (! iocb) {
+        fprintf(stderr, "couldn't find a free iocb\n");
+        if (_dos_type != 1)
+            cgetc();
+        return 1;
+    }
+    iocb_num = (iocb - &IOCB) * 16;
+    if (verbose)
+        printf("using iocb index $%02X ($%04X)\n", iocb_num, iocb);
+
+    if (argc < 2) {
+        printf("\nfilename: ");
+        x = fgets(buf, 19, stdin);
+        printf("\n");
+        if (! x)
+            return 1;
+        if (*x && *(x + strlen(x) - 1) == '\n')
+            *(x + strlen(x) - 1) = 0;
+        filename = x;
+    }
+    else {
+        filename = *(argv+1);
+    }
+
+    /* allocate buffer */
+    buffer = malloc(buflen);
+    if (! buffer) {
+        buflen = _heapmaxavail(); /* get as much as we can */
+        buffer = malloc(buflen);
+        if (! buffer) {
+            fprintf(stderr, "cannot alloc %ld bytes -- aborting...\n", (long)buflen);
+            if (_dos_type != 1)
+                cgetc();
+            return 1;
+        }
+    }
+    if (verbose)
+        printf("buffer size: %ld bytes\n", (long)buflen);
+
+    /* open file */
+    file = fopen(filename, "rb");
+    if (! file) {
+        free(buffer);
+        fprintf(stderr, "cannot open '%s': %s\n", filename, strerror(errno));
+        if (_dos_type != 1)
+            cgetc();
+        return 1;
+    }
+
+    /* read file -- file length must be < 32K */
+    if (verbose)
+        printf("reading input file...\n");
+    filen = fread(buffer, 1, buflen, file);
+    if (! filen) {
+        fprintf(stderr, "read error\n");
+    file_err:
+        fclose(file);
+        free(buffer);
+        if (_dos_type != 1)
+            cgetc();
+        return 1;
+    }
+    if (filen > 32767l) {
+        fprintf(stderr, "file is too large (must be < 32768)\n");
+        goto file_err;
+    }
+    if (filen == buflen) { /* we have a buffer < 32768 and the file fits into it (and is most probably larger) */
+        fprintf(stderr, "not enough memory\n");
+        goto file_err;
+    }
+    if (verbose)
+      printf("file size: %ld bytes\n", (long)filen);
+
+    /* close input file */
+    fclose(file);
+
+    /* open cassette */
+    if (verbose)
+        printf("opening cassette...\n");
+    iocb->buffer = C_dev;
+    iocb->aux1 = 8;    /* open for output */
+    iocb->aux2 = 128;  /* short breaks and no stop between data blocks */
+    iocb->command = IOCB_OPEN;
+    regs.x = iocb_num;
+    regs.pc = 0xe456;   /* CIOV */
+
+    _sys(&regs);
+    if (regs.y != 1) {
+        fprintf(stderr, "CIO call to open cassette returned %d\n", regs.y);
+        free(buffer);
+        if (_dos_type != 1)
+            cgetc();
+        return 1;
+    }
+
+    /* write file */
+    if (verbose)
+        printf("writing to cassette...\n");
+    iocb->buffer = buffer;
+    iocb->buflen = filen;
+    iocb->command = IOCB_PUTCHR;
+    regs.x = iocb_num;
+    regs.pc = 0xe456;   /* CIOV */
+
+    _sys(&regs);
+    if (regs.y != 1) {
+        fprintf(stderr, "CIO call to write file returned %d\n", regs.y);
+        free(buffer);
+
+        iocb->command = IOCB_CLOSE;
+        regs.x = iocb_num;
+        regs.pc = 0xe456;   /* CIOV */
+        _sys(&regs);
+
+        if (_dos_type != 1)
+            cgetc();
+        return 1;
+    }
+
+    /* free buffer */
+    free(buffer);
+
+    /* close cassette */
+    iocb->command = IOCB_CLOSE;
+    regs.x = iocb_num;
+    regs.pc = 0xe456;   /* CIOV */
+    _sys(&regs);
+
+    if (regs.y != 1) {
+        fprintf(stderr, "CIO call to close cassette returned %d\n", regs.y);
+        if (_dos_type != 1)
+            cgetc();
+        return 1;
+    }
+
+    /* all is fine */
+    printf("success\n");
+    if (_dos_type != 1)
+        cgetc();
+    return 0;
+}
diff --git a/libsrc/atari/tvtype.s b/libsrc/atari/tvtype.s
deleted file mode 100644 (file)
index 76661bf..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-;
-; Christian Groessler, July 2004
-;
-; unsigned char get_tv(void)
-;
-; returns the TV system the machine is using
-; 0 - NTSC
-; 1 - PAL
-;
-
-
-        .include        "atari.inc"
-        .include        "get_tv.inc"
-
-.proc   _get_tv
-
-        ldx     #TV::NTSC       ; Assume NTSC
-        lda     PAL             ; use hw register, PALNTS is only supported on XL/XE ROM
-        and     #$0e
-        bne     @NTSC
-        inx                     ; = TV::PAL
-@NTSC:  txa
-        ldx     #0              ; Expand to int
-        rts
-
-.endproc
index b4d950cda9d22efd8a1d03aa5aa3f6d5c6564cbd..8aec3b7b7863c2d18bc15a8b826a59ba4244c713 100644 (file)
@@ -2,7 +2,8 @@
 ; Driver for the 1351 proportional mouse. Parts of the code are from
 ; the Commodore 1351 mouse users guide.
 ;
-; Ullrich von Bassewitz, 2003-12-29, 2009-09-26
+; 2009-09-26, Ullrich von Bassewitz
+; 2014-03-17, Greg King
 ;
 
         .include        "zeropage.inc"
@@ -83,6 +84,8 @@ YMax:           .res    2               ; Y2 value of bounding box
 OldValue:       .res    1               ; Temp for MoveCheck routine
 NewValue:       .res    1               ; Temp for MoveCheck routine
 
+INIT_save:      .res    1
+
 .rodata
 
 ; Default values for above variables
@@ -94,8 +97,8 @@ NewValue:       .res    1               ; Temp for MoveCheck routine
         .word   SCREEN_WIDTH/2          ; XPos
         .word   0                       ; XMin
         .word   0                       ; YMin
-        .word   SCREEN_WIDTH            ; XMax
-        .word   SCREEN_HEIGHT           ; YMax
+        .word   SCREEN_WIDTH - 1        ; XMax
+        .word   SCREEN_HEIGHT - 1       ; YMax
 .endproc
 
 .code
@@ -107,6 +110,14 @@ NewValue:       .res    1               ; Temp for MoveCheck routine
 
 INSTALL:
 
+; Disable the BASIC interpreter's interrupt-driven sprite-motion code.
+; That allows direct access to the VIC-IIe's sprite registers.
+
+        lda     INIT_STATUS
+        sta     INIT_save
+        lda     #%11000000
+        sta     INIT_STATUS
+
 ; Initialize variables. Just copy the default stuff over
 
         ldx     #.sizeof(DefVars)-1
@@ -133,13 +144,17 @@ INSTALL:
 
         ldx     #$00
         txa
-        rts                             ; Run into UNINSTALL instead
+        rts
 
 ;----------------------------------------------------------------------------
 ; UNINSTALL routine. Is called before the driver is removed from memory.
 ; No return code required (the driver is removed from memory on return).
 
-UNINSTALL       = HIDE                  ; Hide cursor on exit
+UNINSTALL:
+        jsr     HIDE                    ; Hide cursor on exit
+        lda     INIT_save
+        sta     INIT_STATUS
+        rts
 
 ;----------------------------------------------------------------------------
 ; HIDE routine. Is called to hide the mouse pointer. The mouse kernel manages
index 2bbb4c79bcc7a4e6c628cbec3454536327c1ba13..be0cf227beb989530f396261762a37b74bacb9e6 100644 (file)
@@ -1,7 +1,8 @@
 ;
 ; Driver for a "joystick mouse".
 ;
-; Ullrich von Bassewitz, 2004-04-05, 2009-09-26
+; 2009-09-26, Ullrich von Bassewitz
+; 2014-03-17, Greg King
 ;
 
         .include        "zeropage.inc"
@@ -85,6 +86,8 @@ XMax:           .res    2               ; X2 value of bounding box
 YMax:           .res    2               ; Y2 value of bounding box
 Buttons:        .res    1               ; Button mask
 
+INIT_save:      .res    1
+
 ; Temporary value used in the int handler
 
 Temp:           .res    1
@@ -99,8 +102,8 @@ Temp:           .res    1
         .word   SCREEN_WIDTH/2          ; XPos
         .word   0                       ; XMin
         .word   0                       ; YMin
-        .word   SCREEN_WIDTH            ; XMax
-        .word   SCREEN_HEIGHT           ; YMax
+        .word   SCREEN_WIDTH - 1        ; XMax
+        .word   SCREEN_HEIGHT - 1       ; YMax
         .byte   0                       ; Buttons
 .endproc
 
@@ -113,6 +116,14 @@ Temp:           .res    1
 
 INSTALL:
 
+; Disable the BASIC interpreter's interrupt-driven sprite-motion code.
+; That allows direct access to the VIC-IIe's sprite registers.
+
+        lda     INIT_STATUS
+        sta     INIT_save
+        lda     #%11000000
+        sta     INIT_STATUS
+
 ; Initialize variables. Just copy the default stuff over
 
         ldx     #.sizeof(DefVars)-1
@@ -145,7 +156,11 @@ INSTALL:
 ; UNINSTALL routine. Is called before the driver is removed from memory.
 ; No return code required (the driver is removed from memory on return).
 
-UNINSTALL       = HIDE                  ; Hide cursor on exit
+UNINSTALL:
+        jsr     HIDE                    ; Hide cursor on exit
+        lda     INIT_save
+        sta     INIT_STATUS
+        rts
 
 ;----------------------------------------------------------------------------
 ; HIDE routine. Is called to hide the mouse pointer. The mouse kernel manages
index 2568445f1b5d9ec3f4c05b4ffba3f3a3ad5c9400..4e549cc6dd4d9f6900297b60a72005ffb5420d07 100644 (file)
@@ -1,8 +1,9 @@
 ;
-; Driver for a potentiometer "mouse" e.g. Koala Pad
+; Driver for a potentiometer "mouse", e.g. Koala Pad
 ;
-; Ullrich von Bassewitz, 2004-03-29, 2009-09-26
-; Stefan Haubenthal, 2006-08-20
+; 2006-08-20, Stefan Haubenthal
+; 2009-09-26, Ullrich von Bassewitz
+; 2014-03-17, Greg King
 ;
 
         .include        "zeropage.inc"
@@ -82,6 +83,8 @@ XMax:           .res    2               ; X2 value of bounding box
 YMax:           .res    2               ; Y2 value of bounding box
 Buttons:        .res    1               ; Button mask
 
+INIT_save:      .res    1
+
 ; Temporary value used in the int handler
 
 Temp:           .res    1
@@ -96,8 +99,8 @@ Temp:           .res    1
         .word   SCREEN_WIDTH/2          ; XPos
         .word   0                       ; XMin
         .word   0                       ; YMin
-        .word   SCREEN_WIDTH            ; XMax
-        .word   SCREEN_HEIGHT           ; YMax
+        .word   SCREEN_WIDTH - 1        ; XMax
+        .word   SCREEN_HEIGHT - 1       ; YMax
         .byte   0                       ; Buttons
 .endproc
 
@@ -110,6 +113,14 @@ Temp:           .res    1
 
 INSTALL:
 
+; Disable the BASIC interpreter's interrupt-driven sprite-motion code.
+; That allows direct access to the VIC-IIe's sprite registers.
+
+        lda     INIT_STATUS
+        sta     INIT_save
+        lda     #%11000000
+        sta     INIT_STATUS
+
 ; Initialize variables. Just copy the default stuff over
 
         ldx     #.sizeof(DefVars)-1
@@ -142,7 +153,11 @@ INSTALL:
 ; UNINSTALL routine. Is called before the driver is removed from memory.
 ; No return code required (the driver is removed from memory on return).
 
-UNINSTALL       = HIDE                  ; Hide cursor on exit
+UNINSTALL:
+        jsr     HIDE                    ; Hide cursor on exit
+        lda     INIT_save
+        sta     INIT_STATUS
+        rts
 
 ;----------------------------------------------------------------------------
 ; HIDE routine. Is called to hide the mouse pointer. The mouse kernel manages
index 57e5bebf12478a98acaf2ee62224ffc9ee30755e..431f4d29d476b5e75ff5a566bfa1519fd760f133 100644 (file)
@@ -2,7 +2,7 @@
 ; Driver for a "joystick mouse".
 ;
 ; Ullrich von Bassewitz, 2004-03-29, 2009-09-26
-; 2010-02-08, Greg King
+; 2014-03-17, Greg King
 ;
 ; The driver prevents the keyboard from interfering by changing the
 ; keyboard's output port into an input port while the driver reads its
@@ -118,8 +118,8 @@ Temp:           .res    1
         .word   SCREEN_WIDTH/2          ; XPos
         .word   0                       ; XMin
         .word   0                       ; YMin
-        .word   SCREEN_WIDTH            ; XMax
-        .word   SCREEN_HEIGHT           ; YMax
+        .word   SCREEN_WIDTH - 1        ; XMax
+        .word   SCREEN_HEIGHT - 1       ; YMax
         .byte   0                       ; Buttons
 .endproc
 
index d57feeeae749c11ae4fbe3fb5ad7e11cf4d0ce68..17308f6ac45799519785bc4c591c9ed6d1028300 100644 (file)
@@ -1,8 +1,9 @@
 ;
-; Driver for a potentiometer "mouse" e.g. Koala Pad
+; Driver for a potentiometer "mouse", e.g. Koala Pad
 ;
-; Ullrich von Bassewitz, 2004-03-29, 2009-09-26
-; Stefan Haubenthal, 2006-08-20
+; 2006-08-20, Stefan Haubenthal
+; 2009-09-26, Ullrich von Bassewitz
+; 2014-03-17, Greg King
 ;
 
         .include        "zeropage.inc"
@@ -96,8 +97,8 @@ Temp:           .res    1
         .word   SCREEN_WIDTH/2          ; XPos
         .word   0                       ; XMin
         .word   0                       ; YMin
-        .word   SCREEN_WIDTH            ; XMax
-        .word   SCREEN_HEIGHT           ; YMax
+        .word   SCREEN_WIDTH - 1        ; XMax
+        .word   SCREEN_HEIGHT - 1       ; YMax
         .byte   0                       ; Buttons
 .endproc
 
index 01ae3f55ce5e7c2cd7eed290e79915c28b68039d..fbe31981c1978e173d12e0b97b7ca647cf934f13 100644 (file)
@@ -1,14 +1,14 @@
-DEPS += ../wrk/$(TARGET)/convert.d
+DEPS += ../libwrk/$(TARGET)/convert.d
 
-../wrk/$(TARGET)/convert.o: TARGET = apple2enh
+../libwrk/$(TARGET)/convert.o: TARGET = apple2enh
 
-../wrk/$(TARGET)/convert.o: $(SRCDIR)/targetutil/convert.c | ../wrk/$(TARGET)
+../libwrk/$(TARGET)/convert.o: $(SRCDIR)/targetutil/convert.c | ../libwrk/$(TARGET)
        $(COMPILE_recipe)
 
 ../lib/apple2enh.lib:
        @$(MAKE) --no-print-directory apple2enh
 
-../targetutil/convert.system: ../wrk/$(TARGET)/convert.o ../lib/apple2enh.lib | ../targetutil
+../targetutil/convert.system: ../libwrk/$(TARGET)/convert.o ../lib/apple2enh.lib | ../targetutil
        $(LD65) -o $@ -C apple2enh-system.cfg $^
 
 $(TARGET): ../targetutil/convert.system
index 5ab61ac14713082e70baf19fa8010e32e9900380..08358563b3ec9a60957e081f374e9f6aff552564 100644 (file)
@@ -7,7 +7,7 @@
         .import         __STARTOFDIRECTORY__
         .import         __RAM_START__
         .import         __CODE_SIZE__,__DATA_SIZE__,__RODATA_SIZE__
-        .import         __STARTUP_SIZE__,__INIT_SIZE__
+        .import         __STARTUP_SIZE__,__INIT_SIZE__,__LOWCODE_SIZE__
         .import         __BLOCKSIZE__
         .export         __DEFDIR__: absolute = 1
 
@@ -21,7 +21,7 @@ off0=__STARTOFDIRECTORY__+(__DIRECTORY_END__-__DIRECTORY_START__)
 blocka=off0/__BLOCKSIZE__
 ; Entry 0 - first executable
 block0=off0/__BLOCKSIZE__
-len0=__STARTUP_SIZE__+__INIT_SIZE__+__CODE_SIZE__+__DATA_SIZE__+__RODATA_SIZE__
+len0=__STARTUP_SIZE__+__INIT_SIZE__+__CODE_SIZE__+__DATA_SIZE__+__RODATA_SIZE__+__LOWCODE_SIZE__
         .byte   <block0
         .word   off0 & (__BLOCKSIZE__ - 1)
         .byte   $88
index 1be43497f002a2fe0ccebc095b9e8b3c2a890dfa..f1dcbf18e697bf4fd3dd1aa7fc0c105663b92ebf 100644 (file)
@@ -1,8 +1,8 @@
-../tgi/nes-64-56-2.tgi: ../wrk/nes/clrscr.o \
-                        ../wrk/nes/cputc.o  \
-                        ../wrk/nes/get_tv.o \
-                        ../wrk/nes/gotoxy.o \
-                        ../wrk/nes/popa.o   \
-                        ../wrk/nes/ppu.o    \
-                        ../wrk/nes/ppubuf.o \
-                        ../wrk/nes/setcursor.o
+../tgi/nes-64-56-2.tgi: ../libwrk/nes/clrscr.o \
+                        ../libwrk/nes/cputc.o  \
+                        ../libwrk/nes/get_tv.o \
+                        ../libwrk/nes/gotoxy.o \
+                        ../libwrk/nes/popa.o   \
+                        ../libwrk/nes/ppu.o    \
+                        ../libwrk/nes/ppubuf.o \
+                        ../libwrk/nes/setcursor.o
index 7bdd5206ab6fc018205932ef6ca1116b9a5b2a8c..2c2267ae78b76605181926c0769829a350ddb325 100644 (file)
@@ -1,8 +1,6 @@
-.SUFFIXES:
-
-.PHONY: all bin $(PROGS) mostlyclean clean install avail unavail
-
-ifeq ($(shell echo),)
+ifneq ($(shell echo),)
+  CMD_EXE = 1
+endif
 
 PROGS = ar65  \
         ca65  \
@@ -16,6 +14,10 @@ PROGS = ar65  \
         sim65 \
         sp65
 
+.PHONY: all mostlyclean clean install zip avail unavail bin $(PROGS)
+
+.SUFFIXES:
+
 bindir  := $(prefix)/bin
 datadir := $(if $(prefix),$(prefix)/share/cc65,$(abspath ..))
 
@@ -25,53 +27,93 @@ LD65_LIB = $(datadir)/lib
 LD65_OBJ = $(datadir)/lib
 LD65_CFG = $(datadir)/cfg
 
-CFLAGS += -MMD -MP -O -std=c89 -I common \
+CC = $(CROSS_COMPILE)gcc
+AR = $(CROSS_COMPILE)ar
+
+ifdef CROSS_COMPILE
+  $(info CC: $(CC))
+  $(info AR: $(AR))
+endif
+
+ifdef USER_CFLAGS
+  $(info USER_CFLAGS: $(USER_CFLAGS))
+endif
+
+ifndef GIT_SHA
+  GIT_SHA := $(if $(wildcard ../.git),$(shell git rev-parse --short HEAD))
+  ifneq ($(words $(GIT_SHA)),1)
+    GIT_SHA := N/A
+  endif
+endif
+$(info GIT_SHA: $(GIT_SHA))
+
+CFLAGS += -MMD -MP -O -I common \
           -Wall -Wextra -Wno-char-subscripts $(USER_CFLAGS) \
-          -DCA65_INC=$(CA65_INC) -DCC65_INC=$(CC65_INC) \
+          -DGIT_SHA=$(GIT_SHA) -DCA65_INC=$(CA65_INC) -DCC65_INC=$(CC65_INC) \
           -DLD65_LIB=$(LD65_LIB) -DLD65_OBJ=$(LD65_OBJ) -DLD65_CFG=$(LD65_CFG)
 
-CFLAGS += $(if $(TRAVIS),-Werror)
-
 LDLIBS += -lm
 
-INSTALL = install
+ifdef CMD_EXE
+  EXE_SUFFIX=.exe
+endif
+
+ifdef CROSS_COMPILE
+  EXE_SUFFIX=.exe
+endif
+
+ifdef CMD_EXE
+  DIRLIST = $(strip $(foreach dir,$1,$(wildcard $(dir))))
+  MKDIR = mkdir $(subst /,\,$1)
+  RMDIR = $(if $(DIRLIST),rmdir /s /q $(subst /,\,$(DIRLIST)))
+else
+  MKDIR = mkdir -p $1
+  RMDIR = $(RM) -r $1
+endif
 
 all bin: $(PROGS)
 
 mostlyclean:
-       $(RM) -r ../wrk
+       $(call RMDIR,../wrk)
 
 clean:
-       $(RM) -r ../wrk ../bin
+       $(call RMDIR,../wrk ../bin)
 
-install:
-       $(if $(prefix),,$(error variable `prefix' must be set))
-       $(INSTALL) -d $(DESTDIR)$(bindir)
-       $(INSTALL) ../bin/* $(DESTDIR)$(bindir)
+ifdef CMD_EXE
 
-avail:
-       $(foreach prog,$(PROGS),$(AVAIL_recipe))
+install avail unavail:
 
-unavail:
-       $(foreach prog,$(PROGS),$(UNAVAIL_recipe))
+else # CMD_EXE
 
-##########
+INSTALL = install
 
 define AVAIL_recipe
 
 ln -s $(abspath ../bin/$(prog)) /usr/local/bin/$(prog)
 
-endef
-
-##########
+endef # AVAIL_recipe
 
 define UNAVAIL_recipe
 
 $(RM) /usr/local/bin/$(prog)
 
-endef
+endef # UNAVAIL_recipe
 
-##########
+install:
+       $(if $(prefix),,$(error variable `prefix' must be set))
+       $(INSTALL) -d $(DESTDIR)$(bindir)
+       $(INSTALL) ../bin/* $(DESTDIR)$(bindir)
+
+avail:
+       $(foreach prog,$(PROGS),$(AVAIL_recipe))
+
+unavail:
+       $(foreach prog,$(PROGS),$(UNAVAIL_recipe))
+
+endif # CMD_EXE
+
+zip:
+       @cd .. && zip cc65 bin/*
 
 define OBJS_template
 
@@ -80,53 +122,35 @@ $1_OBJS := $$(patsubst %.c,../wrk/%.o,$$(wildcard $1/*.c))
 $$($1_OBJS): | ../wrk/$1
 
 ../wrk/$1:
-       @mkdir -p $$@
+       @$$(call MKDIR,$$@)
 
 DEPS += $$($1_OBJS:.o=.d)
 
-endef
-
-##########
+endef # OBJS_template
 
 define PROG_template
 
 $$(eval $$(call OBJS_template,$1))
 
-../bin/$1$(PROGEXT): $$($1_OBJS) ../wrk/common/common.a | ../bin
+../bin/$1$(EXE_SUFFIX): $$($1_OBJS) ../wrk/common/common.a | ../bin
        $$(CC) $$(LDFLAGS) -o $$@ $$^ $$(LDLIBS)
 
-$1: ../bin/$1$(PROGEXT)
-
-endef
+$1: ../bin/$1$(EXE_SUFFIX)
 
-##########
+endef # PROG_template
 
 ../wrk/%.o: %.c
        @echo $<
        @$(CC) -c $(CFLAGS) -o $@ $<
 
 ../bin:
-       @mkdir $@
+       @$(call MKDIR,$@)
 
 $(eval $(call OBJS_template,common))
+
 ../wrk/common/common.a: $(common_OBJS)
        $(AR) r $@ $?
 
 $(foreach prog,$(PROGS),$(eval $(call PROG_template,$(prog))))
 
 -include $(DEPS)
-
-else # cmd.exe
-
-all bin:
-       msbuild cc65.sln /p:configuration=release /consoleloggerparameters:disableconsolecolor
-
-mostlyclean:
-       $(if $(wildcard ../wrk),rmdir /s /q ..\wrk)
-
-clean:
-       msbuild cc65.sln /p:configuration=release /consoleloggerparameters:disableconsolecolor /target:$@
-
-install avail unavail:
-
-endif # cmd.exe
index cecb892927850b7af64a19d07354adf4d0dd1419..a44524368dac503a344a456c5ca8d73990eb4726 100644 (file)
@@ -77,7 +77,3 @@ void AddObjFiles (int argc, char* argv [])
     /* Successful end */
     exit (EXIT_SUCCESS);
 }
-
-
-
-
index abaf017b65cb30de4caa1bd338f7f28f55762e82..c3de2bb0a3293c17d92fdd77c5dfc682e2dd4ff4 100644 (file)
@@ -52,7 +52,3 @@ void AddObjFiles (int argc, char* argv []);
 /* End of add.h */
 
 #endif
-
-
-
-
index d95c012f989e2a1c5ee41a37f0a1bf1e164861a9..0c1343de39f3bb4e3dea7558791749a895eab4da 100644 (file)
@@ -78,7 +78,3 @@ void DelObjFiles (int argc, char* argv [])
     /* Successful end */
     exit (EXIT_SUCCESS);
 }
-
-
-
-
index f25672609ebd875736494b0dc19aae338e881ac4..6100fe60ad48ff03a6ef8a255b195ca25f591142 100644 (file)
@@ -52,7 +52,3 @@ void DelObjFiles (int argc, char* argv []);
 /* End of del.h */               
 
 #endif
-
-
-
-
index d21c9e9b7943a7fc7a330c97891bd30a97315ef1..47ee90aa5ae243517ede517b61ed3949c19af705 100644 (file)
@@ -89,6 +89,3 @@ void Internal (const char* Format, ...)
     va_end (ap);
     exit (EXIT_FAILURE);
 }
-
-
-
index abff5bd2a0cb6ab4523624a0c0ab623f3622ed77..4052ee3eb4f768812454273f975bcaff5dea6890 100644 (file)
@@ -63,6 +63,3 @@ void Internal (const char* Format, ...) attribute((noreturn, format(printf,1,2))
 /* End of error.h */
 
 #endif
-
-
-
index 75a1986e8d06beb73d3a02cc50087e1663321c24..11589a6218d4a1104cb20fcd1eebc8fff6571792 100644 (file)
@@ -147,6 +147,3 @@ const ObjData* ExpFind (const char* Name)
     /* Not found */
     return 0;
 }
-
-
-
index 272b19d63b665bf976ac9dd84f890f6a279fd7cc..2dcd8a49c69062ae6d37167db7d358ed502edb64 100644 (file)
@@ -67,6 +67,3 @@ const struct ObjData* ExpFind (const char* Name);
 /* End of exports.h */
 
 #endif
-
-
-
index 43d7c5b3b8a7ae6ac1203917ba47485335295056..c1a8fd82bf95122c00afab5418ffae236996a2cb 100644 (file)
@@ -77,6 +77,3 @@ void ExtractObjFiles (int argc, char* argv [])
     /* Successful end */
     exit (EXIT_SUCCESS);
 }
-
-
-
index 705d2c8e105d7a91ca449b70da779dcab2bbd265..d09368c73ba109101724d0735820790f93b42230 100644 (file)
@@ -52,7 +52,3 @@ void ExtractObjFiles (int argc, char* argv []);
 /* End of extract.h */
 
 #endif
-
-
-
-
index 0bd925f154ea0d3bc93849dd475ec1ed3efc9a40..5126d7fe2d861badfdaddfaf8ca104b451037920 100644 (file)
@@ -201,54 +201,3 @@ void* ReadData (FILE* F, void* Data, unsigned Size)
     }
     return Data;
 }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
index 0c69f7c1389c624312574fb2c83fa38fa03309ee..17a3d2d0ddcb27cc3e269ee3d97b9d0558ee6c33 100644 (file)
@@ -89,6 +89,3 @@ void* ReadData (FILE* F, void* Data, unsigned Size);
 /* End of fileio.h */
 
 #endif
-
-
-
index 02157f08bcdb80f5b965d6b652693857e12546ff..75eadc0a7736dbc4b7a356ffc347cf602949d5d9 100644 (file)
@@ -40,6 +40,3 @@
 /*****************************************************************************/
 /*                                   Data                                    */
 /*****************************************************************************/
-
-
-
index f35452d5c8890e3017c57203be15212e9df0912d..9b8f128f9b085fa7d78911798d3e7d786f545566 100644 (file)
@@ -47,6 +47,3 @@
 /* End of global.h */
 
 #endif
-
-
-
index e68f23d3dac22b884102db279d35d703b4a81bee..8d92a1ec600591ea3e394c33b329690881520d77 100644 (file)
@@ -405,6 +405,3 @@ void LibClose (void)
         Error ("Problem deleting temporary library file: %s", strerror (errno));
     }
 }
-
-
-
index 3453f1ea53581ccde5bd7f44f9fcfd9a25be73da..f7b203aa49d92fd77926e9316e22e78414f2ae7c 100644 (file)
@@ -83,6 +83,3 @@ void LibClose (void);
 /* End of library.h */
 
 #endif
-
-
-
index a3536c7d26ec307363fd9a6b5406952ae742b348..6562998605e616b91c7e832357334613ddc1416e 100644 (file)
@@ -84,6 +84,3 @@ void ListObjFiles (int argc, char* argv [])
     /* Successful end */
     exit (EXIT_SUCCESS);
 }
-
-
-
index ea6a62512df38df37db943cb27727eba37dee21f..f29323b2e09ca95f1907e8b9ccd4519dac3da51f 100644 (file)
@@ -52,7 +52,3 @@ void ListObjFiles (int argc, char* argv []);
 /* End of list.h */
 
 #endif
-
-
-
-
index 9af48063224f78b7944d69768ec398fe0c8df2b2..9b9097ea49c6b2ebae973778e84660a34153e59b 100644 (file)
@@ -137,6 +137,3 @@ int main (int argc, char* argv [])
     /* Return an apropriate exit code */
     return EXIT_SUCCESS;
 }
-
-
-
index b419fac4d7d143b7b9654d0ed2d406b9c6bfd305..2a7cf4ed4f896b035e0eeda6cf0495b5df2fe3d9 100644 (file)
@@ -167,6 +167,3 @@ void DelObjData (const char* Module)
     /* Not found! */
     Warning ("Module `%s' not found in library `%s'", Module, LibName);
 }
-
-
-
index 52e175e84c262ac276dc0e948aa671e5b1fa51e8..13590ee4d20a425a96cb2f4c2ff3e6189ca8d51e 100644 (file)
@@ -108,6 +108,3 @@ void DelObjData (const char* Module);
 /* End of objdata.h */
 
 #endif
-
-
-
index 4f937a5de370b3177f8b416311188425713338b5..933a68852f4c1391147efc7231cca265f419d438 100644 (file)
@@ -337,6 +337,3 @@ void ObjExtract (const char* Name)
         Error ("Cannot set mod time on `%s': %s", Name, strerror (errno));
     }
 }
-
-
-
index 3f24c7c5091a6443779cb8bbcddb0665b4920d39..f971d3ec6e51f0b27d1fbc5c36d30f91ae4de6f8 100644 (file)
@@ -74,6 +74,3 @@ void ObjExtract (const char* Name);
 /* End of objfile.h */
 
 #endif
-
-
-
index d01ae2aa1b930b2bab683d176ae5fdb36313ac79..2424869166c04615d923fa59cc560475680361b1 100644 (file)
@@ -79,6 +79,3 @@ int IsAnonName (const StrBuf* Name)
     }
     return (strncmp (SB_GetConstBuf (Name), AnonTag, sizeof (AnonTag) - 1) == 0);
 }
-
-
-
index bfefc05b5e5a12a2d648ee55c33363b654625b6b..fdb64159afe53f6f1aedd0480f43c511a8b591c7 100644 (file)
@@ -61,7 +61,5 @@ int IsAnonName (const StrBuf* Name);
       
 
 /* End of anonname.h */
-#endif
-
-
 
+#endif
index a1a61a117f55f5f7f50d244fbfcb17ad011185c2..0d4c856a39a56f76d6d9d84b828dd84af33d07d4 100644 (file)
@@ -176,8 +176,3 @@ void WriteAssertions (void)
     /* Done writing the assertions */
     ObjEndAssertions ();
 }
-
-
-
-
-
index f860a1af32456f2913e19ff86e0d4a5ac0ba4bdb..c69fe3be1217dae10f0a0c629d5478c2ab6ce234 100644 (file)
@@ -74,6 +74,3 @@ void WriteAssertions (void);
 /* End of asserts.h */
 
 #endif
-
-
-
index 8be5cb687851c9b51f5b2ede272847ad7169399e..c9506c316ec6068a9099ab9164960dbacd8ff039 100644 (file)
@@ -523,7 +523,3 @@ void CleanupIfStack (unsigned SP)
     /* Calculate the new overall .IF condition */
     CalcOverallIfCond ();
 }
-
-
-
-
index 3489310d522f8c87daff1d8b0e6c040ac2a471c4..fa1842bf3f41266d8035ba4b4bcdb024b8b82795 100644 (file)
@@ -80,6 +80,3 @@ void CleanupIfStack (unsigned SP);
 /* End of condasm.h */
 
 #endif
-
-
-
index b1b845fc946c1d712c2f22d68efd5e7782e791ad..5e1bf912ab4da25bfe8eae2d4e213a875f56b98c 100644 (file)
@@ -527,6 +527,3 @@ void WriteHLLDbgSyms (void)
 
     }
 }
-
-
-
index 32cb3ca51e319f962ac2912d9cd6a113279be13f..9f8139f6c34e40db9625db25e8c1ab4ac618d1a2 100644 (file)
@@ -67,8 +67,3 @@ void WriteHLLDbgSyms (void);
 /* End of dbginfo.h */
 
 #endif
-
-
-
-
-
index 5a65638a06f005a0d84fce2eb92de28d18f4803f..9a038047cfbad54dca412023bfa2a5b19ac45d34 100644 (file)
@@ -63,6 +63,3 @@ struct EffAddr {
 /* End of ea.h */
 
 #endif
-
-
-
index 7db71a185c2a96d426000e9360a1efa773e5d0d0..71fea6296a6530256813c536a6ecc91f4da03aa8 100644 (file)
@@ -200,7 +200,3 @@ void GetEA (EffAddr* A)
     /* Apply addressing mode overrides */
     A->AddrModeSet &= Restrictions;
 }
-
-
-
-
index f7f8c2018d0c05e097cf37cfa6699eb5c630602e..066d9b0cc6d08b6bca1e44b62096dcaf04e9f7a5 100644 (file)
@@ -62,6 +62,3 @@ void GetEA (EffAddr* A);
 /* End of ea65.h */
 
 #endif
-
-
-
index 08ef52fa6dece4c5f212717c1738d937da4cf425..f0561b6922c5b2249292e2381b55ffd7ade97b44 100644 (file)
@@ -151,7 +151,3 @@ void DoEnum (void)
     /* Free the base expression */
     FreeExpr (BaseExpr);
 }
-
-
-
-
index 5e85255f0319f57db232f7403896f8da103e0ed7..7d73a97b87138717dafd7ad1026dfb5b48bed4d7 100644 (file)
@@ -52,6 +52,3 @@ void DoEnum (void);
 /* End of enum.h */
 
 #endif
-
-
-
index ffda60ecdbbd78f6db1a0687bc9d0689e2a43486..6731aa0e574e4abc01277c5ec65146d7ff5a3a3e 100644 (file)
@@ -400,6 +400,3 @@ void Internal (const char* Format, ...)
 
     exit (EXIT_FAILURE);
 }
-
-
-
index d86e68c42fb7ce6642fcb3db4e1dae09c6446b8a..c6fb4f44e5d367f1dccdcb5ea164ef8f5047bf5e 100644 (file)
 
 
 
+#if defined( __MINGW32__)
+#  pragma GCC diagnostic ignored "-Wformat"
+#endif
+
+
+
 /* common */
 #include "attrib.h"
 #include "coll.h"
@@ -98,7 +104,3 @@ void Internal (const char* Format, ...) attribute((noreturn, format(printf,1,2))
 /* End of error.h */
 
 #endif
-
-
-
-
index ecbd22a27ba902abd81be1ed7d4cfee25fd9f69b..471700e4639efcaff5b9c5f06356833574792412 100644 (file)
@@ -1942,6 +1942,3 @@ ExprNode* BoundedExpr (ExprNode* (*ExprFunc) (void), unsigned Size)
 {
     return MakeBoundedExpr (ExprFunc (), Size);
 }
-
-
-
index 17f547beb7eea1d690b0b7131c4622df65efd9eb..0105bb68ff1c859f32fe17db5242b02f779d3f5b 100644 (file)
@@ -179,6 +179,3 @@ ExprNode* BoundedExpr (ExprNode* (*ExprFunc) (void), unsigned Size);
 /* End of expr.h */
 
 #endif
-
-
-
index c2532c595238b9e776a752ed6765c8fb623fe5e2..9a6055cb90d9e21bd68cc4ddf5e21af557c3706d 100644 (file)
@@ -125,6 +125,3 @@ feature_t SetFeature (const StrBuf* Key)
     /* Return the value found */
     return Feature;
 }
-
-
-
index 53016b21cc39b5210aacc529498a8432373a12bf..563ef5c2d6922ba66ec9722731585e13e425206b 100644 (file)
@@ -94,6 +94,3 @@ feature_t SetFeature (const StrBuf* Key);
 /* End of feature.h */
 
 #endif
-
-
-
index bf5b32503c14a71a247ced711db841323c9319fa..0b7d7eb80fc32cdc6857bb2143c3c602ac7a7cfb 100644 (file)
@@ -336,5 +336,3 @@ void CreateDependencies (void)
                        FT_MAIN | FT_INCLUDE | FT_BINARY | FT_DBGINFO);
     }
 }
-
-
index af5909c4c73ef7f13892424a7153b421c10aab89..b6fd2b6a51b17b4b192d4fed84f9cfb6574effcf 100644 (file)
@@ -90,8 +90,3 @@ void CreateDependencies (void);
 /* End of filetab.h */
 
 #endif
-
-
-
-
-
index e1a55edb3680932d70258c8772fcc29b58d93db8..b4997cb6d36dc05d6002a2b2f09bb3fe0df92262 100644 (file)
@@ -66,6 +66,3 @@ Fragment* NewFragment (unsigned char Type, unsigned short Len)
     /* And return it */
     return F;
 }
-
-
-
index 99852202a9d0ecb247cbfc9be7cbc191b078a1a9..2420d332ed2adeb31bedc7d0a00154efab7cb262 100644 (file)
@@ -82,8 +82,5 @@ Fragment* NewFragment (unsigned char Type, unsigned short Len);
 
 
 /* End of fragment.h */
-#endif
-
-
-
 
+#endif
index 23bbe48843b2e692809ca3ff1d57111f45811f8a..378a776e651e7e9fd6af8d8e341b3c80706fb0ec 100644 (file)
@@ -90,6 +90,3 @@ extern unsigned char    UnderlineInNumbers; /* Allow underlines in numbers */
 /* End of global.h */
 
 #endif
-
-
-
index 76ad3111af70377bd99d4ff931068672fe193447..ff21b175dea3f6aa27732a13fb68f1e8fcc78b1a 100644 (file)
@@ -44,8 +44,8 @@
 
 
 
-SearchPath    IncSearchPath;          /* Standard include path */
-SearchPath    BinSearchPath;          /* Binary include path */
+SearchPaths*    IncSearchPath;          /* Standard include path */
+SearchPaths*    BinSearchPath;          /* Binary include path */
 
 
 
@@ -75,13 +75,10 @@ void FinishIncludePaths (void)
     AddSubSearchPathFromEnv (IncSearchPath, "CC65_HOME", "asminc");
 
     /* Add some compiled-in search paths if defined at compile time. */
-#ifdef CA65_INC
+#if defined(CA65_INC) && !defined(_WIN32)
     AddSearchPath (IncSearchPath, STRINGIZE (CA65_INC));
 #endif
 
     /* Add paths relative to the parent directory of the Windows binary. */
     AddSubSearchPathFromWinBin (IncSearchPath, "asminc");
 }
-
-
-
index 841767e4bf4f2fe00aba3c4e9739c3ff638c40ad..818e36265389c1ee45a942bd5d5613c41af31da8 100644 (file)
@@ -49,8 +49,8 @@
 
 
 
-extern SearchPath     IncSearchPath;          /* Standard include path */
-extern SearchPath     BinSearchPath;          /* Binary include path */
+extern SearchPaths*     IncSearchPath;          /* Standard include path */
+extern SearchPaths*     BinSearchPath;          /* Binary include path */
 
 
 
@@ -71,6 +71,3 @@ void FinishIncludePaths (void);
 /* End of incpath.h */
 
 #endif
-
-
-
index e0e3fc08c62e353f8e2744e7f1d4c81a17e8ed7e..1c7be086ba0ccfbad5e07e4d46ec9d44aba8f97b 100644 (file)
@@ -1521,6 +1521,3 @@ void HandleInstruction (unsigned Index)
     /* Call the handler */
     InsTab->Ins[Index].Emit (&InsTab->Ins[Index]);
 }
-
-
-
index ead36a0c2dc3715347c76e59ef44153830086502..28809500fc9eb0cc4efcd4bc9554648562a9b94e 100644 (file)
@@ -179,8 +179,3 @@ void HandleInstruction (unsigned Index);
 /* End of instr.h */
 
 #endif
-
-
-
-
-
index 507d56ba5197a793397d833d5a36b2f63b6bdd82..14cae0ac9db42c85a5ee19aac308573e7e9e522e 100644 (file)
@@ -156,6 +156,3 @@ void CheckInputStack (void)
         Error ("Open %s", IStack->Desc);
     }
 }
-
-
-
index 06ff066e4e6e4540c9d4f939a034b9f31eb5e3f7..dd982194ab54835ccdd33f5be6022bea1986079e 100644 (file)
@@ -68,7 +68,3 @@ void CheckInputStack (void);
 /* End of istack.h */
 
 #endif
-
-
-
-
index dbc5b4d412c9de66846797ed7cfe855b5c002064..acdaf04cc9050c3d23c4143c973dc75ae71ddf09 100644 (file)
@@ -501,6 +501,3 @@ void WriteLineInfos (void)
     /* End of line infos */
     ObjEndLineInfos ();
 }
-
-
-
index 41b44c0bcd39b871a8d19c8e36ec76ff661b6f22..5998b12534a069f15b91d8fdbc9d6bbb9ffae0b7 100644 (file)
@@ -115,8 +115,5 @@ void WriteLineInfos (void);
 
 
 /* End of lineinfo.h */
-#endif
-
-
-
 
+#endif
index 8bd8833dd40c9bf23b8e5e2cd43f084923f207c3..dc10882ac1bbe5c3837c269d14c2cdb10b954e83 100644 (file)
@@ -452,6 +452,3 @@ void CreateListing (void)
     /* Close the listing file */
     (void) fclose (F);
 }
-
-
-
index bea716bf14f88f2d2368bba7e65c2d875bf101cf..b1ae4429165efa82a2dc00d4c67f9eeb285db1a8 100644 (file)
@@ -123,6 +123,3 @@ void CreateListing (void);
 /* End of listing.h */
 
 #endif
-
-
-
index 75741c479ff7c45eff52e5218422f91bf9dde7b4..c5c55228f3783ab5c2941de312e4b06110f7db34 100644 (file)
@@ -1049,6 +1049,3 @@ void EnableDefineStyleMacros (void)
     PRECONDITION (DisableDefines > 0);
     --DisableDefines;
 }
-
-
-
index 582b1352440cb115c202d574ff1dda169b9dc4c9..a526d6119406ea8b1120d123af2072c809d16842 100644 (file)
@@ -110,6 +110,3 @@ void EnableDefineStyleMacros (void);
 /* End of macro.h */
 
 #endif
-
-
-
index d4f16d58f882740735e7c17a865033af73f151cc..a0f45ac34378a3f16c74e7826db5149d821e95ab 100644 (file)
@@ -1120,6 +1120,3 @@ int main (int argc, char* argv [])
     /* Return an apropriate exit code */
     return (ErrorCount == 0)? EXIT_SUCCESS : EXIT_FAILURE;
 }
-
-
-
index d52a8babd5a331509dd48757f9c21af91ea53cf9..6d4af26af152dcdec785171a0ac15ff231e2fb3c 100644 (file)
@@ -816,6 +816,3 @@ void LeaveRawTokenMode (void)
     PRECONDITION (RawMode > 0);
     --RawMode;
 }
-
-
-
index d8d7c01015226c4026c87f18bab2f56fbb496918..b948e505439b474e934bc238cf48813a3ef4c779 100644 (file)
@@ -90,7 +90,3 @@ void LeaveRawTokenMode (void);
 /* End of nexttok.h */
 
 #endif
-
-
-
-
index 3ab9b2ebe08835efeecac6679cd20c590b2d49ee..d1ab4f6bd781cf3fbb31a56fd3681e320c2a74b4 100644 (file)
@@ -278,6 +278,3 @@ void EmitFill (unsigned long Count)
         GenFragment (FRAG_FILL, Chunk);
     }
 }
-
-
-
index 68b967e3f8a355c0daf90cc26cb773bfecacac35..70a0311646bafc9e7d85e17f2c460c8ea367e5ff 100644 (file)
@@ -94,6 +94,3 @@ void EmitFill (unsigned long Count);
 /* End of objcode.h */
 
 #endif
-
-
-
index 818e5625b3b7df9c7443cabd7dda994cf330794a..c0e08996ffdcfcf43f16304b44864a773cf5f559 100644 (file)
@@ -512,6 +512,3 @@ void ObjEndSpans (void)
 {
     Header.SpanSize = ftell (F) - Header.SpanOffs;
 }
-
-
-
index ab775ca242c905f659d999e0f9974741b3bad9f4..c1d148725d32385c27f4aa20cf2f89d81026960b 100644 (file)
@@ -160,6 +160,3 @@ void ObjEndSpans (void);
 /* End of objfile.h */
 
 #endif
-
-
-
index 6b4184824c7abc82d0a3e5060a08a0b0bbbf8c90..96eb90ba728cda75bb2f98e44dab13e5a75319d9 100644 (file)
@@ -73,6 +73,3 @@ void WriteOptions (void);
 /* End of options.h */
 
 #endif
-
-
-
index 3af1926101fcde9fcf63b037a2f739760f6a130a..55b5cfe03e06ea064e48c250c237e07abb2b175a 100644 (file)
@@ -2145,6 +2145,3 @@ void CheckPseudo (void)
         Warning (1, "CPU stack is not empty");
     }
 }
-
-
-
index 006b2790987fc2a3082f4cc8c5ecab2e6ea5917e..6199f661e9a3a6fe3833cae60ecadfb7f81ccc75 100644 (file)
@@ -55,6 +55,3 @@ void CheckPseudo (void);
 /* End of pseudo.h */
 
 #endif
-
-
-
index 915c8a78f9a5a35da67f1f5ab74050b6333296b5..a98d0c39d4877b8a3a36263b80e316a11979590d 100644 (file)
@@ -175,6 +175,3 @@ Done:
     /* Switch out of raw token mode */
     LeaveRawTokenMode ();
 }
-
-
-
index 1cdccc0e370e547096c544aacff3bf627601babd..3230fb657df2a4322467c1c713a69ce29a48b2e4 100644 (file)
@@ -52,7 +52,3 @@ void ParseRepeat (void);
 /* End of repeat.h */
 
 #endif
-
-
-
-
index 1a1127778ca6a83981d5a4aa73380ee9148f2f12..79055399edd08ebe8e16727ac46faa477b86b1ff 100644 (file)
@@ -1505,7 +1505,3 @@ void DoneScanner (void)
 {
     DoneCharSource ();
 }
-
-
-
-
index b0fc3411f33010bfb5b817b977bb2a8a6e45b82b..0985028fc71c40a8236e2ccdb7e361e23a55b6d2 100644 (file)
@@ -108,7 +108,3 @@ void DoneScanner (void);
 /* End of scanner.h */
 
 #endif
-
-
-
-
index 3c1a59992b1985c8e1b575e21657ffa619e90e19..bf735ef31311f2c4d7819d2a6a105f6f61bef96c 100644 (file)
@@ -77,7 +77,3 @@ SegDef* DupSegDef (const SegDef* Def)
 {
     return NewSegDef (Def->Name, Def->AddrSize);
 }
-
-
-
-
index c7431b9a23e80052232dddc8b1779e0c76bcf6e0..824a59beda16b1106c0c4f095a101d918566e392 100644 (file)
@@ -81,6 +81,3 @@ SegDef* DupSegDef (const SegDef* D);
 /* End of segdef.h */
 
 #endif
-
-
-
index 60a897324fed44f35bcff130ffce9793077888db..742bbbbcd2f79ac467635405bd8e57dae9ced0e0 100644 (file)
@@ -627,7 +627,3 @@ void WriteSegments (void)
     /* Done writing segments */
     ObjEndSegments ();
 }
-
-
-
-
index 69a3eb8335950fffe006e1004ac662dbf1a50e40..d7e8b737cf0db1704978767fde771018b788daca 100644 (file)
@@ -174,6 +174,3 @@ void WriteSegments (void);
 /* End of segment.h */
 
 #endif
-
-
-
index a29c83e9d0d0c5ac6a8ff93856caa1197ee31310..479a00ccfc61c4415568d13e2cf9bcf7a49ea404 100644 (file)
@@ -130,6 +130,3 @@ SymEntry* DefSizeOfSymbol (SymEntry* Sym, long Size)
     SymDef (SizeSym, GenLiteralExpr (Size), ADDR_SIZE_DEFAULT, SF_NONE);
     return SizeSym;
 }
-
-
-
index 2bb400d83bb8bf24b1c129c70e3d3837bc483e73..5ca8fcd1a95a35298b6a54df9c1388e8ff1d86b2 100644 (file)
@@ -95,7 +95,5 @@ struct SymEntry* DefSizeOfSymbol (struct SymEntry* Sym, long Size);
 
 
 /* End of sizeof.h */
-#endif
-
-
 
+#endif
index ebec761fefb35b652f90506c0086148b1bf5d03d..5b42d9eb509f06cbf5a4595bc25aaa2e3b086226 100644 (file)
@@ -407,7 +407,3 @@ void WriteSpans (void)
     /* Done writing the spans */
     ObjEndSpans ();
 }
-
-
-
-
index 3ca99ee8f191434c18bb4d88a829e7aaff4a55be..5eb3affdca279b01fab274cf0e0b5017ff11c060 100644 (file)
@@ -117,6 +117,3 @@ void WriteSpans (void);
 /* End of span.h */
 
 #endif
-
-
-
index d30045195189cc032d3438c30ad8f1e3b52ac6fc..a25702fdfff677a75ae3ff9954de74a25011b020 100644 (file)
@@ -89,6 +89,3 @@ void InitStrPool (void)
     /* Insert an empty string. It will have string id 0 */
     SP_AddStr (StrPool, "");
 }
-
-
-
index 744e8e5bb402dda25336387eb50b7f9b3d4b7959..e8d1152985f2a0bca2d683e19eaf5116b8cbccdc 100644 (file)
@@ -114,7 +114,3 @@ void InitStrPool (void);
 /* End of spool.h */
 
 #endif
-
-
-
-
index 1ad5832c0918512384252c5fc05492ef3f696bab..683bd067ca68f7d21043cea819eecb038894b4d1 100644 (file)
@@ -299,6 +299,3 @@ void DoUnion (void)
 {
     DoStructInternal (0, UNION);
 }
-
-
-
index 9175a498c7cda63903ff37146b4d07a8470fdda8..1fdaf9d60723d56bd53e77500e060056fddf8c71 100644 (file)
@@ -68,6 +68,3 @@ void DoUnion (void);
 /* End of struct.h */
 
 #endif
-
-
-
index 5ff1cc369e150f5bdc96e88a65093bce0df530b1..cb2795bd3b5224012a3b5cc8188be6b3b34d4cf7 100644 (file)
@@ -1539,6 +1539,3 @@ void StudyExpr (ExprNode* Expr, ExprDesc* D)
     printf ("%u sections:\n", D->SecCount);
 #endif
 }
-
-
-
index 504323e13eeeaceee9671e874d6304210f77c261..389bce5a30cb777cee13cbe169420bc22ce6e494 100644 (file)
@@ -118,7 +118,5 @@ void StudyExpr (ExprNode* Expr, ExprDesc* D);
 
 
 /* End of studyexpr.h */
-#endif
-
-
 
+#endif
index b9e2a6c169918ae07c0a1c0bd10819917506a868..5eed70bebff96a4fbfba2f537a5f1de6ed740bc3 100644 (file)
@@ -262,6 +262,3 @@ SymEntry* ParseAnySymName (SymFindAction Action)
     /* Return the symbol found */
     return Sym;
 }
-
-
-
index 30964f0c0d5a4f85fef67ba64cd0ffa7041afa8e..8ea5d7d204f7da839d19d272797ea548fd62b39e 100644 (file)
@@ -88,6 +88,3 @@ struct SymEntry* ParseAnySymName (SymFindAction Action);
 /* End of symbol.h */
 
 #endif
-
-
-
index 612bc09f234c189845c080754195da9591a392fc..411f3ac333a00ae2632ab3e8eca200e95ac08d9c 100644 (file)
@@ -744,6 +744,3 @@ unsigned GetSymInfoFlags (const SymEntry* S, long* ConstVal)
     /* Return the result */
     return Flags;
 }
-
-
-
index a9b1386e346d4655832dae4441883027bf067b13..a5900bcd0b6bf7e41efd11ceeb1e17eafba6480f 100644 (file)
@@ -359,7 +359,3 @@ unsigned GetSymInfoFlags (const SymEntry* Sym, long* ConstVal);
 /* End of symentry.h */
 
 #endif
-
-
-
-
index 2681605faf4d1bffeb0fa6cf64d5c7d56a66b51a..001d564eab34fb512fa5f04dda00f37f6600cd61 100644 (file)
@@ -1031,6 +1031,3 @@ void WriteScopes (void)
     /* Done writing the scopes */
     ObjEndScopes ();
 }
-
-
-
index e7f7384d0b748216b576d713a4feb9eb2597e4dd..de5806124e7cd0448d4abdcff8731b1b9ec49c37 100644 (file)
@@ -178,6 +178,3 @@ void WriteScopes (void);
 /* End of symtab.h */
 
 #endif
-
-
-
index b2d103dde17d5d6410205552e15bacfa7c2bcbe3..d3324d447e754f86e559fbf31ff636040fe589cf 100644 (file)
@@ -72,6 +72,3 @@ void CopyToken (Token* Dst, const Token* Src)
     SB_Copy (&Dst->SVal, &Src->SVal);
     Dst->Pos  = Src->Pos;
 }
-
-
-
index 6499a14bdbf3915573a7dc55d592184fa956ed9e..56d780e567fdf46165e716f44bc036b34e52c8eb 100644 (file)
@@ -314,6 +314,3 @@ void CopyToken (Token* Dst, const Token* Src);
 /* End of token.h */
 
 #endif
-
-
-
index e6adf3d961d003a68fd1e6ad81002ff6a40fe8fb..43b3f3c7d400e7087455854beb5b778fb8e9be5b 100644 (file)
@@ -283,6 +283,3 @@ void PushTokList (TokList* List, const char* Desc)
     ++PushCounter;
     PushInput (ReplayTokList, List, Desc);
 }
-
-
-
index 6e7a414cc69521fed9c72b741af06823b95c01dd..84b4291f44d304b02152b8cee6a7e0d607a5ea37 100644 (file)
@@ -129,7 +129,3 @@ void PushTokList (TokList* List, const char* Desc);
 /* End of toklist.h */
 
 #endif
-
-
-
-
index 140dad3d93426910cc156a2740781aecd5039009..efebce56c7577c81de4862bbc346a6bb039a34c3 100644 (file)
@@ -223,7 +223,3 @@ void ULabDone (void)
         ReleaseFullLineInfo (&L->LineInfos);
     }
 }
-
-
-
-
index c7c1729182fd1e52096089ec19545631bb8a97f8..a925a5f8760bda2c8a903957e5585e1486e8d23a 100644 (file)
@@ -74,6 +74,3 @@ void ULabDone (void);
 /* End of ulabel.h */
 
 #endif
-
-
-
index 2c33b3f17c84d74668fbebdeb3936ddf0c76931d..8e46269d214fa84495bd8b6e19489bb20cef60d5 100644 (file)
@@ -78,6 +78,3 @@ int IsAnonName (const char* Name)
 {
     return (strncmp (Name, AnonTag, sizeof (AnonTag) - 1) == 0);
 }
-
-
-
index 43292505ed7a82e5d9aa4448c6f42b5644b4c5dc..c7661f3363f0208e63a05b2a575b5700007a3cb8 100644 (file)
@@ -55,7 +55,5 @@ int IsAnonName (const char* Name);
 
 
 /* End of anonname.h */
-#endif
-
-
 
+#endif
index ec0a8791e204e24fecf026f01e5541c06bdd6126..46bce4beddf6f48225b503e63c38023b1206d7f0 100644 (file)
@@ -130,6 +130,3 @@ void WriteAsmOutput (void)
         Entry = Entry->NextSym;
     }
 }
-
-
-
index 5d70ae381814da93285f7856243b663bfac000e0..248381224f20c948f58762ebc0785f557b61c120 100644 (file)
@@ -88,8 +88,5 @@ void WriteAsmOutput (void);
 
 
 /* End of asmcode.h */
-#endif
-
-
-
 
+#endif
index 46330c30314eab73cae0fbe47b1c4678b4cef6d3..da986c5ff60255a5404b8c98946c0c666dd7c6e1 100644 (file)
@@ -98,7 +98,3 @@ int IsLocalLabelName (const char* Name)
     /* Local label name */
     return 1;
 }
-
-
-
-
index 44235c9d9682a43a428b314b9a869cd68eb2c091..88cbcd622c6d89887f083c03a7577aaa05e7eb90 100644 (file)
@@ -59,7 +59,5 @@ int IsLocalLabelName (const char* Name);
 
 
 /* End of asmlabel.h */
-#endif
-
-
 
+#endif
index ce2660e546dd82d1fc07ddb7f9c154b566aff099..b3b452c1a9a339717ef9b2ea5ce49f12d9d6bb94 100644 (file)
@@ -447,6 +447,3 @@ void AsmStatement (void)
     /* Closing paren needed */
     ConsumeRParen ();
 }
-
-
-
index e3a6a04332b3d1579feed3722e2963939888e08a..1d1936089cff942a8fe04e4f96879400d6f0d9aa 100644 (file)
@@ -55,6 +55,3 @@ void AsmStatement (void);
 /* End of asmstmt.h */
 
 #endif
-
-
-
index 81a189f36264ddb57cf66dd9890dc17431dd2109..7308fb693c5bfcb5a5c817a9fff0714d376755fd 100644 (file)
@@ -266,6 +266,3 @@ void Assignment (ExprDesc* Expr)
     /* Value is still in primary and not an lvalue */
     ED_MakeRValExpr (Expr);
 }
-
-
-
index 6273724caed1900b4e008660a07fd2d5e52a2453..278c5ef72d4a7c789de95b8b663e68b81f2696d0 100644 (file)
@@ -55,7 +55,5 @@ void Assignment (ExprDesc* lval);
 
 
 /* End of assignment.h */
-#endif
-
-
 
+#endif
index 0e1b3730536540c9fd2d042533a1170bbbcead4b..fd35a035b16b1b25b8870d664572209c6bc5d270 100644 (file)
@@ -182,6 +182,3 @@ unsigned InsertCaseValue (Collection* Nodes, unsigned long Val, unsigned Depth)
     /* Return the label of the node we found/created */
     return CaseLabel;
 }
-
-
-
index aa1de2efa5a0868362da215141415fbcd3727b33..1b5ff3834e8e979dfb29bf6465e3db432104758d 100644 (file)
@@ -128,7 +128,5 @@ unsigned InsertCaseValue (Collection* Nodes, unsigned long Val, unsigned Depth);
 
 
 /* End of casenode.h */
-#endif
-
-
 
+#endif
index 21eef8fe5e0dbd465cb7df86d8e07c231d52ae7b..e1ab965bc10c819ca2fdeaaaf8b631edf54f217b 100644 (file)
@@ -1490,9 +1490,3 @@ void CE_Output (const CodeEntry* E)
     /* Terminate the line */
     WriteOutput ("\n");
 }
-
-
-
-
-
-
index 72ce626bb4f956cf336237a938b7e888efb6dec8..b2509863b996fd836d2542594d572d89a0216eb4 100644 (file)
@@ -238,8 +238,5 @@ void CE_Output (const CodeEntry* E);
 
 
 /* End of codeent.h */
-#endif
-
-
-
 
+#endif
index 2d41c4a95e39b68b497fa5b80455a974dda4969f..7ee2a972e16c9bbf43e0b24d1191af128ad9d707 100644 (file)
@@ -4362,6 +4362,3 @@ void g_asmcode (struct StrBuf* B)
 {
     AddCodeLine ("%.*s", (int) SB_GetLen (B), SB_GetConstBuf (B));
 }
-
-
-
index a2f91518dc86155ee53925f1be84d3ede6ffb757..256d1ff981e2c941c3801429e7c07b3387341a95 100644 (file)
@@ -486,6 +486,5 @@ void g_asmcode (struct StrBuf* B);
 
 
 /* End of codegen.h */
-#endif
-
 
+#endif
index 5f549c4a6e6c8a27e022863a03ac820b80f9780d..161b44229d4e2d47e263a640074460fc71303553 100644 (file)
@@ -828,6 +828,3 @@ cmp_t FindTosCmpCond (const char* Name)
         return CMP_INV;
     }
 }
-
-
-
index 68a08b5c8293b3af3b573edde4c56e68454bf824..59fc8e05d6561bdd3b6d1d47154a92add3eace90 100644 (file)
@@ -177,8 +177,5 @@ cmp_t FindTosCmpCond (const char* Name);
 
 
 /* End of codeinfo.h */
-#endif
-
-
-
 
+#endif
index 88de84dc13e52b2e8b6d55336f5baa5c14e56a5f..f528f666d567a123c6533f206b2abe00a8954927 100644 (file)
@@ -132,7 +132,3 @@ void CL_Output (const CodeLabel* L)
         WriteOutput ("\n");
     }
 }
-
-
-
-
index d38a30e8292696f5798fec1c42ef55e6501124ed..480d3a15b131aa86adaf6cacfc330d0a7b82c2ee 100644 (file)
@@ -117,7 +117,5 @@ void CL_Output (const CodeLabel* L);
 
 
 /* End of codelab.h */
-#endif
-
-
 
+#endif
index a16364be4af421c49088d535d3e3aff93f52edbe..566fdf954dfbfa92ffe02c2d313dfdf62a24eacf 100644 (file)
@@ -1432,6 +1432,3 @@ void RunOpt (CodeSeg* S)
         WriteOptStats (StatFileName);
     }
 }
-
-
-
index 7ce2fa8443c40b971153f5ec9c6a65a012a81380..e0bc83731660ef214362961d5beeaa517a231712 100644 (file)
@@ -64,7 +64,5 @@ void RunOpt (CodeSeg* S);
 
 
 /* End of codeopt.h */
-#endif
-
-
 
+#endif
index c28f32651c9a51aae7cf4f69167a8171920de69b..50d8938470f14f0dd9c98ec89dce24ca03450cdb 100644 (file)
@@ -1680,6 +1680,3 @@ void CS_GenRegInfo (CodeSeg* S)
     } while (!Done);
 
 }
-
-
-
index 125ad31c06bbf4c376eb50bb0e0e1afc2cf656ee..da6b6a82ee365e00bf43217aeb6fd207695793cd 100644 (file)
@@ -297,7 +297,5 @@ void CS_GenRegInfo (CodeSeg* S);
 
 
 /* End of codeseg.h */
-#endif
-
-
 
+#endif
index 17e9471b825bddd01235c9a69b884fc9ab5a6450..c84082f4b0faab8347de2a2466b30eb023d64b9d 100644 (file)
@@ -428,6 +428,3 @@ void FinishCompile (void)
     /* Leave the main lexical level */
     LeaveGlobalLevel ();
 }
-
-
-
index 74e294efe78b474ba4a22dcde691a7017a9c3d59..2d15c8200afa8022d57796bdeb6b2399f7e233c0 100644 (file)
@@ -55,6 +55,3 @@ void FinishCompile (void);
 /* End of compile.h */
 
 #endif
-
-
-
index fe050cef6876bc9e8aacfe22242423911a23540e..f0acdc4c70c0902cf000cd381145f2bf0b7f70b8 100644 (file)
@@ -553,6 +553,3 @@ unsigned OptAdd6 (CodeSeg* S)
     /* Return the number of changes made */
     return Changes;
 }
-
-
-
index f89ad016ee8cd9fb1229973bcad4e01ce7d0d66a..d61fd023c10c6c51c057299aaf196c96a672471b 100644 (file)
@@ -153,6 +153,3 @@ unsigned OptAdd6 (CodeSeg* S);
 /* End of coptadd.h */
 
 #endif
-
-
-
index 969f9fd6ed536d95da837bfc9d5f1099aafdc925..ecbafdcd20b3fbec717db43b1736df8e6b27ea35 100644 (file)
@@ -214,6 +214,3 @@ unsigned Opt65C02Stores (CodeSeg* S)
     /* Return the number of changes made */
     return Changes;
 }
-
-
-
index 7d010568b4b6c27ad53e7a16f31f341884e7a491..2056693766fc7cfd7340d5e5aee1f91e1bf6e51a 100644 (file)
@@ -61,7 +61,5 @@ unsigned Opt65C02Stores (CodeSeg* S);
 
 
 /* End of coptc02.h */
-#endif
-
-
 
+#endif
index e1b80a71c1d435fd588beab19f24d93e4ec7baf2..d365fb6820e56007967af8d530774d3d04ebb888 100644 (file)
@@ -971,6 +971,3 @@ unsigned OptCmp9 (CodeSeg* S)
     /* Return the number of changes made */
     return Changes;
 }
-
-
-
index d54b8f5c6bbf94e7b6f2ac8a67c45a82256f4a4c..dbfd74dd57629411d821103059869d963b6b9089 100644 (file)
@@ -171,6 +171,3 @@ unsigned OptCmp9 (CodeSeg* S);
 /* End of coptcmp.h */
 
 #endif
-
-
-
index 14f64590e59576267575bdb1ce50d24062e8b57e..46debca374680c479abd8164111d9924677ad24e 100644 (file)
@@ -2289,6 +2289,3 @@ unsigned OptIndLoads2 (CodeSeg* S)
     /* Return the number of changes made */
     return Changes;
 }
-
-
-
index 83a3f964c5cd8b4851cab809381c7d49901933e6..509ae00809d5bfb917d94354605355744fd8cc66 100644 (file)
@@ -174,7 +174,5 @@ unsigned OptIndLoads2 (CodeSeg* S);
 
 
 /* End of coptind.h */
-#endif
-
-
 
+#endif
index 2bc0e6b2fdd280819e1516360c057874e1358ae3..fe1683ceb6d0f35d214e0d58cc83ff168e7c36cf 100644 (file)
@@ -605,6 +605,3 @@ unsigned OptComplAX1 (CodeSeg* S)
     /* Return the number of changes made */
     return Changes;
 }
-
-
-
index 580faaa67744200fa99cce1f24dafd48e5c57212..f4947bd929b106c94a5b0ea6dff7e67d2ccfb68f 100644 (file)
@@ -183,6 +183,3 @@ unsigned OptComplAX1 (CodeSeg* S);
 /* End of coptneg.h */
 
 #endif
-
-
-
index 43f3cc49c31270208daa9bd8c3188b5b3c97edaf..1ab4b32599537f80f27775d8044dea66362be8e8 100644 (file)
@@ -1458,6 +1458,3 @@ unsigned OptPtrLoad17 (CodeSeg* S)
     /* Return the number of changes made */
     return Changes;
 }
-
-
-
index 3b8a83c7b56db54510ce789c9814d20859300d6d..1a4124ccbd3a5097d27dd0f498d0a5544df88e99 100644 (file)
@@ -359,7 +359,5 @@ unsigned OptPtrLoad17 (CodeSeg* S);
 
 
 /* End of coptptrload.h */
-#endif
-
-
 
+#endif
index 646cec07fe42262dff8f389d0ccdc33080d941f6..0f89ce9dc6182d9faea94cd3fbfd0a83f1037e4b 100644 (file)
@@ -757,6 +757,3 @@ unsigned OptPtrStore3 (CodeSeg* S)
     /* Return the number of changes made */
     return Changes;
 }
-
-
-
index c6798ea30e0bf0a9cadf08f78123808c6b3f381e..b784a889a880a8c0f957f6db09e8bf275e2d2c24 100644 (file)
@@ -175,8 +175,5 @@ unsigned OptPtrStore3 (CodeSeg* S);
 
 
 /* End of coptptrstore.h */
-#endif
-
-
-
 
+#endif
index a1ed700f60119326b7e28b4eca0b946a5a6f0be3..c17dd30dfb792494db1a5f8a0e24e53ed8636b38 100644 (file)
@@ -166,6 +166,3 @@ unsigned OptPush2 (CodeSeg* S)
     /* Return the number of changes made */
     return Changes;
 }
-
-
-
index 0cd01dde8374d4c119de61f452913c47abc918dd..60403486a74e4745c8e4e003667a647663b16563 100644 (file)
@@ -81,6 +81,3 @@ unsigned OptPush2 (CodeSeg* S);
 /* End of coptpush.h */
 
 #endif
-
-
-
index 933c3dfa328aa78976a686ecae7708bf9972be81..825a09577febd718ab55a40f7e7cd748ac4f9226 100644 (file)
@@ -742,6 +742,3 @@ NextEntry:
     /* Return the number of changes made */
     return Changes;
 }
-
-
-
index ce63e0e1b6f38094ae84953803e733eb95683c2d..fa9788c19f3ad6773df61c5a206781a4bc247fc1 100644 (file)
@@ -120,7 +120,5 @@ unsigned OptShift6 (CodeSeg* S);
 
 
 /* End of coptshift.h */
-#endif
-
-
 
+#endif
index 0848bab0ef74da7688a1dcd96d9d8de09fe522b9..8dd9cedee395db6a9f02268eab59b5407b474f18 100644 (file)
@@ -1034,6 +1034,3 @@ unsigned OptSize2 (CodeSeg* S)
     /* Return the number of changes made */
     return Changes;
 }
-
-
-
index f1dc07e469ae69616f49780e9bf5ad222ab0aaff..bece6db340439731c8effc3a2f3e427e7a20a1e9 100644 (file)
@@ -64,7 +64,5 @@ unsigned OptSize2 (CodeSeg* S);
 
 
 /* End of coptsize.h */
-#endif
-
-
 
+#endif
index dfa14d3f8b27efaec710b415398bda8520129aba..f0075e8e41824f757a3015718ac3acc4a71a8b3b 100644 (file)
@@ -2079,6 +2079,3 @@ unsigned OptStackOps (CodeSeg* S)
     /* Return the number of changes made */
     return Changes;
 }
-
-
-
index 8abc25eceff2b4afd105d681e603936f24ad497b..4edf284c25c6477870250297dbf07d2b25932519 100644 (file)
@@ -55,7 +55,5 @@ unsigned OptStackOps (CodeSeg* S);
 
 
 /* End of coptstop.h */
-#endif
-
-
 
+#endif
index ea304e15dad6f26b38b5e32cac5140274787abd0..fca153e968bde275c4962c6fba93f2fd044bb762 100644 (file)
@@ -435,6 +435,3 @@ unsigned OptStore5 (CodeSeg* S)
     /* Return the number of changes made */
     return Changes;
 }
-
-
-
index 0785566e08efc994516f4f163f6a58109d4fb3cf..1f5f0174b382102a8d22b89ff75d749442c7abe7 100644 (file)
@@ -109,6 +109,3 @@ unsigned OptStore5 (CodeSeg* S);
 /* End of coptstore.h */
 
 #endif
-
-
-
index fdb1676841170b1c53742091cc5df320107dd5fc..57606eea2725a6892794873055b37081e7f98483 100644 (file)
@@ -228,6 +228,3 @@ unsigned OptSub3 (CodeSeg* S)
     /* Return the number of changes made */
     return Changes;
 }
-
-
-
index c8249bdb21281e2b513823fd3de75cd490c6ca00..724abaa3c80b683e3b0dcea43fc19df5efcd288f 100644 (file)
@@ -88,6 +88,3 @@ unsigned OptSub3 (CodeSeg* S);
 /* End of coptsub.h */
 
 #endif
-
-
-
index 91ebdc7ad5ae181623f4bc2271803f19b72607c5..9a8ed05085e6a8053509539ec3995cb95d586235 100644 (file)
@@ -169,6 +169,3 @@ unsigned OptTest2 (CodeSeg* S)
     /* Return the number of changes made */
     return Changes;
 }
-
-
-
index f6af1da3297e506b61b1b50552045d41654bf21d..aa70dc0fe6bf0d78686742b44eca4181d37a47ad 100644 (file)
@@ -81,6 +81,3 @@ unsigned OptTest2 (CodeSeg* S);
 /* End of copttest.h */
 
 #endif
-
-
-
index c19791e9e43e0c264c232b922c0887bc50c24197..40ec6f7939cbe574bd67837045654b19e9b2a27d 100644 (file)
@@ -130,7 +130,3 @@ void DS_Output (const DataSeg* S)
     /* Add an additional newline after the segment output */
     WriteOutput ("\n");
 }
-
-
-
-
index c822120a8a510cf1ed8addf8d2a4bc7f43b0aa1c..dd99d4727420c58d4628cd61c0ca7cffa5653630 100644 (file)
@@ -88,7 +88,5 @@ void DS_Output (const DataSeg* S);
 
 
 /* End of dataseg.h */
-#endif
-
-
 
+#endif
index 88ec9ead6d57beffb7a37128a2926efddd438aa1..6cdaaf84f7f3b44b07cd957525672abdc01b3987 100644 (file)
@@ -746,6 +746,3 @@ TypeCode AddrSizeQualifier (unsigned AddrSize)
 
     }
 }
-
-
-
index b49694da3cc0657410d9d1402fe4bdfa8bb4ebf0..cfd0cb2beab0ad0024097bd1a49a27ab94246efb 100644 (file)
@@ -691,6 +691,3 @@ INLINE TypeCode DataAddrSizeQualifier (void)
 /* End of datatype.h */
 
 #endif
-
-
-
index c4debd8aa25e808b2039a6bd0bdb80c5df6134bc..558fc55195aeafe31b568066df784f51ec9ad59f 100644 (file)
@@ -2237,6 +2237,3 @@ unsigned ParseInit (Type* T)
     /* Return the size needed for the initialization */
     return Size;
 }
-
-
-
index 3a21a59d98b9fddd309bfe956d90db59b448979b..ff092d87ff2232def4ef6fc2eb454dbafae956ff 100644 (file)
@@ -118,6 +118,3 @@ unsigned ParseInit (Type* T);
 /* End of declare.h */
 
 #endif
-
-
-
index ac45db2211348340d96cdb5a18cf8ba9ab0307ff..7fc7f4fb83763747f7a1406152a00515c7bc914b 100644 (file)
@@ -247,6 +247,3 @@ void ParseAttribute (Declaration* D)
     ConsumeRParen ();
     ConsumeRParen ();
 }
-
-
-
index e3826c77f6ef8fdec3248ac38511ca54cf868748..63669cee7bd08714936da2d0ea8fb40a186193e3 100644 (file)
@@ -75,6 +75,3 @@ void ParseAttribute (struct Declaration* D);
 /* End of declattr.h */
 
 #endif
-
-
-
index e15cd22ba2a758345827ea1411e45fdcbbaf6012..56750367a61ad7fe4136f54a40f84c3782fd5c00 100644 (file)
@@ -321,6 +321,3 @@ void ErrorReport (void)
 {
     Print (stdout, 1, "%u errors, %u warnings\n", ErrorCount, WarningCount);
 }
-
-
-
index 5811e1b455097b4a664a77094d5febe2f5bbf2dc..f85cdcae08e4c2d79704142300e9f01b2ffa5f8f 100644 (file)
@@ -117,9 +117,5 @@ void ErrorReport (void);
 
 
 /* End of error.h */
-#endif
-
-
-
-
 
+#endif
index 2125eb43026abad94a9ab743fa3c6b61e265d1bf..a425c660230d6706c645dc9b0e6b886c6d22323d 100644 (file)
@@ -3545,6 +3545,3 @@ void ConstAbsIntExpr (void (*Func) (ExprDesc*), ExprDesc* Expr)
         ED_MakeConstAbsInt (Expr, 1);
     }
 }
-
-
-
index c5d193e6bcaef6b39c90dd5748ba000a93b08fd5..193fe39eb3182ea6233474ed251c6ece53d34f77 100644 (file)
@@ -92,7 +92,3 @@ void hie0 (ExprDesc* Expr);
 /* End of expr.h */
 
 #endif
-
-
-
-
index 978aedfc691f51b59f98d60f056fcb4867e5638e..a5787d96745dc05c68ead8eb27fc5dcd85969175 100644 (file)
@@ -373,6 +373,3 @@ Type* ReplaceType (ExprDesc* Expr, const Type* NewType)
     Expr->Type = TypeDup (NewType);
     return OldType;
 }
-
-
-
index f2d5ce3220e7e875e97d28029faeb8c71c2f6a56..021f9fcc2c7fe72281c2b31b817ff9c61e97b461 100644 (file)
@@ -379,7 +379,5 @@ Type* ReplaceType (ExprDesc* Expr, const Type* NewType);
 
 
 /* End of exprdesc.h */
-#endif
-
-
 
+#endif
index 874dfb101dc424e8cf2cf3e657acb7b53c49335e..b9561a97cc4d6a68040a33d2ceadb0f61125f1a7 100644 (file)
@@ -73,6 +73,3 @@ void FreeFuncDesc (FuncDesc* F)
     /* Free the structure */
     xfree (F);
 }
-
-
-
index 7232bca1d24b0e20a1212edc47734491a548bcaf..b79c6a055ceb0384c71258c67d1658bc8e667800 100644 (file)
@@ -86,7 +86,5 @@ void FreeFuncDesc (FuncDesc* D);
 
 
 /* End of funcdesc.h */
-#endif
-
-
 
+#endif
index ccf2adf49a10d61bcb30dd1bcd0488cc33c6e944..97c421951f57183b7ff684bc7530dcf72af16802 100644 (file)
@@ -601,6 +601,3 @@ void NewFunc (SymEntry* Func)
     FreeFunction (CurrentFunc);
     CurrentFunc = 0;
 }
-
-
-
index b70389372642a46bbbd9bc09a2c917a6b0d4ccc0..c5174c78b5d08e1860ea23a3a46b027f414665a7 100644 (file)
@@ -124,7 +124,5 @@ void NewFunc (struct SymEntry* Func);
 
 
 /* End of function.h */
-#endif
-
-
 
+#endif
index a6d752b27aeb5029f30666d89db5f995304e7d33..e2800a65e45244c5b4176274206fa27bacb833ce 100644 (file)
@@ -67,6 +67,3 @@ IntStack DataAlignment      = INTSTACK(1);  /* Alignment for data */
 StrBuf DepName     = STATIC_STRBUF_INITIALIZER; /* Name of dependencies file */
 StrBuf FullDepName = STATIC_STRBUF_INITIALIZER; /* Name of full dependencies file */
 StrBuf DepTarget   = STATIC_STRBUF_INITIALIZER; /* Name of dependency target */
-
-
-
index b9c15a26ed8fe95764e3afb99d83bdc0aaf77224..2abd786010289bae8c049bb6e0deacaa81c2af1d 100644 (file)
@@ -81,7 +81,3 @@ extern StrBuf           DepTarget;              /* Name of dependency target */
 /* End of global.h */
 
 #endif
-
-
-
-
index 6f12c145b5a41617b55765c7b9165a3b1ab8a1b3..6e282c636adad4ec08adca9da0cabfb78dad94de 100644 (file)
@@ -86,6 +86,3 @@ void DoLabel (void)
     NextToken ();
     NextToken ();
 }
-
-
-
index a887b0eaa99037106fa24ccfc84e5080552abe31..3ca8223e2452f0d6d877c5a04161f90bef980ba8 100644 (file)
@@ -53,7 +53,5 @@ void DoLabel (void);
 
 
 /* End of goto.h */
-#endif
-
-
 
+#endif
index aaedf68ce9eba3ee4b8a7a3d84cf5f168eab944d..9830e1863fa3a8df7d9db36581fb77037c6e3ec4 100644 (file)
@@ -62,6 +62,3 @@ unsigned HexVal (int C)
         return toupper (C) - 'A' + 10;
     }
 }
-
-
-
index 770ed5ce547dc3a26029d14c05d9ccae3a6950f2..b0e65be4636e23d3b60fab87091e6ff904286d82 100644 (file)
@@ -52,9 +52,5 @@ unsigned HexVal (int C);
 
 
 /* End of hexval.h */
-#endif
-
-
-
-
 
+#endif
index fac69bd0a40808023adbdf59b5ab7f433705ee46..7748095c7ffe1f3423a4390f5265179c83caa95d 100644 (file)
@@ -52,6 +52,3 @@ int IsIdent (char c)
 {
     return (IsAlpha (c) || c == '_');
 }
-
-
-
index d470e198bb448773bb2ed948b310cea4104104f3..36d5ae122570708d8aca7d75aa045f12f09c6f57 100644 (file)
@@ -65,7 +65,5 @@ int IsIdent (char c);
 
 
 /* End of ident.h */
-#endif
-
-
 
+#endif
index 7a4b31e941a012af419f490a8892d7f5b337864d..ab164d5ca079b72682e176170064b6e05a799781 100644 (file)
@@ -44,8 +44,8 @@
 
 
 
-SearchPath    SysIncSearchPath;       /* System include path */
-SearchPath    UsrIncSearchPath;       /* User include path */
+SearchPaths*    SysIncSearchPath;       /* System include path */
+SearchPaths*    UsrIncSearchPath;       /* User include path */
 
 
 
@@ -76,13 +76,10 @@ void FinishIncludePaths (void)
     AddSubSearchPathFromEnv (SysIncSearchPath, "CC65_HOME", "include");
 
     /* Add some compiled-in search paths if defined at compile time. */
-#ifdef CC65_INC
+#if defined(CC65_INC) && !defined(_WIN32)
     AddSearchPath (SysIncSearchPath, STRINGIZE (CC65_INC));
 #endif
 
     /* Add paths relative to the parent directory of the Windows binary. */
     AddSubSearchPathFromWinBin (SysIncSearchPath, "include");
 }
-
-
-
index ed8ba50ccac84bea29e55617b191646b3acec04a..05824ac5e8fe29858b406f0002a2b943c06dd513 100644 (file)
@@ -49,8 +49,8 @@
 
 
 
-extern SearchPath     SysIncSearchPath;       /* System include path */
-extern SearchPath     UsrIncSearchPath;       /* User include path */
+extern SearchPaths*     SysIncSearchPath;       /* System include path */
+extern SearchPaths*     UsrIncSearchPath;       /* User include path */
 
 
 
@@ -69,7 +69,5 @@ void FinishIncludePaths (void);
 
 
 /* End of incpath.h */
-#endif
-
-
 
+#endif
index a98c72e4f2e014a29e8c0e893e1699598d4396ea..f6554c48397c79e660d873ea7c35dd9a3ec7c997 100644 (file)
@@ -661,5 +661,3 @@ void CreateDependencies (void)
                        IT_MAIN | IT_SYSINC | IT_USRINC);
     }
 }
-
-
index 4d2fd7fb1b157c5752433ed7bcc76e1a63feb8e3..e6fcc618cd6df0ec10dcfaebc5288f67f6b8af31 100644 (file)
@@ -55,9 +55,9 @@
  * choosen so that it is possible to combine them to bitsets
  */
 typedef enum {
-    IT_MAIN     = 0x01,         /* Main input file */
-    IT_SYSINC   = 0x02,         /* System include file (using <>) */
-    IT_USRINC  = 0x04,          /* User include file (using "") */
+    IT_MAIN   = 0x01,           /* Main input file */
+    IT_SYSINC = 0x02,           /* System include file (using <>) */
+    IT_USRINC = 0x04,           /* User include file (using "") */
 } InputType;
 
 /* Forward for an IFile structure */
@@ -116,7 +116,5 @@ void CreateDependencies (void);
 
 
 /* End of input.h */
-#endif
-
-
 
+#endif
index 342fce96931d2ba308fbab63fc5309206cd217b2..97aee949bab5357ddcd737236f8288b0e38568a6 100644 (file)
@@ -192,6 +192,3 @@ unsigned GetInputLine (const LineInfo* LI)
     PRECONDITION (LI != 0);
     return LI->LineNum;
 }
-
-
-
index 3ecd0ce84b2de6b4e727237e32ddfe4932c4f59f..25c4e75561167b760885cda3d3fc36dcaf3c5f74 100644 (file)
@@ -104,8 +104,5 @@ unsigned GetInputLine (const LineInfo* LI);
 
 
 /* End of lineinfo.h */
-#endif
-
-
-
 
+#endif
index 013c6ad4a4f75654ea15b504103ed197d4152a7f..171d8b5dd47b46b37814ff2495e6bea1e5a9e2f0 100644 (file)
@@ -498,6 +498,3 @@ Literal* AddLiteralStr (const StrBuf* S)
 {
     return AddLiteralBuf (SB_GetConstBuf (S), SB_GetLen (S));
 }
-
-
-
index 7a771d5eb252caa34c155a9aa8dd2d84f7285911..9412beac8dba8c4d33d2a43f0bd3c4cb3875677d 100644 (file)
@@ -130,8 +130,5 @@ Literal* AddLiteralStr (const StrBuf* S);
 
 
 /* End of litpool.h */
-#endif
-
-
-
 
+#endif
index d3c190b13624569579d8000facb0ec58be73177c..dfc89810871ed567eaa9a90aaae34b6686252cff 100644 (file)
@@ -197,6 +197,3 @@ void LoadExpr (unsigned Flags, struct ExprDesc* Expr)
     }
 
 }
-
-
-
index acd570f1fd682ea8ca25b679f14b5d9fbb65b9d7..3f13311f145bac8a2ce41b3522fa8e564c04ecb6 100644 (file)
@@ -60,7 +60,5 @@ void LoadExpr (unsigned Flags, struct ExprDesc* Expr);
 
 
 /* End of loadexpr.h */
-#endif
-
-
 
+#endif
index bdc0df9065741296a79fbe09f847a2e4a0a92889..38f8036079737b1ed24a9c60141d5c4a7e1eb2e8 100644 (file)
@@ -545,6 +545,3 @@ void DeclareLocals (void)
         g_cstackcheck ();
     }
 }
-
-
-
index d47cb6725e57c41374a9af7e294369a75ed3a5bd..e50c6c9921ece561ca7fac33a72895052550055a 100644 (file)
@@ -62,7 +62,5 @@ void RestoreRegVars (int HaveResult);
 
 
 /* End of locals.h */
-#endif
-
-
 
+#endif
index 4a3cdd8827a34b3216e11da873f140168189b833..c15c37a7965bbbba81fcea0faf116fadc797eff1 100644 (file)
@@ -98,6 +98,3 @@ void DelLoop (void)
     LoopStack = LoopStack->Next;
     xfree (L);
 }
-
-
-
index f24a3ef9fe5c47439c40613b4bc939661ccabf54..fa2859f610e10e7ffc7108bdf46d8012799064d2 100644 (file)
@@ -74,6 +74,3 @@ void DelLoop (void);
 /* End of loop.h */
 
 #endif
-
-
-
index acb532ac4a887fb5e153625e460e29d9f3e2181f..44e20986625029754e117ef206306a05fccd93b9 100644 (file)
@@ -302,6 +302,3 @@ void PrintMacroStats (FILE* F)
         }
     }
 }
-
-
-
index c20ab81c469dc5b29d2372560d3b9ec9af98298b..746fc6f89269e4e88e93a4c173d6d4a66756984c 100644 (file)
@@ -127,7 +127,5 @@ void PrintMacroStats (FILE* F);
 
 
 /* End of macrotab.h */
-#endif
-
-
 
+#endif
index affaa01b0b1b9a4cd6e85ac5e473914f38c7e56d..546c7f27e1339df98e4fa2852c823d024120f471 100644 (file)
@@ -1016,6 +1016,3 @@ int main (int argc, char* argv[])
     /* Return an apropriate exit code */
     return (ErrorCount > 0)? EXIT_FAILURE : EXIT_SUCCESS;
 }
-
-
-
index d8a7fcb1f45beb9e7983562c03eabc44f15e81b2..c7661642fda5b521a954ad819ce376e2b25e18e1 100644 (file)
@@ -812,7 +812,3 @@ bc_t GetInverseCond (bc_t BC)
             return 0;
     }
 }
-
-
-
-
index 7dc5262c88f362280e8e921a34cf4723b6209f23..4635c4703a57d54be4314bec07092545d2c1a55e 100644 (file)
@@ -258,7 +258,5 @@ bc_t GetInverseCond (bc_t BC);
 
 
 /* End of opcodes.h */
-#endif
-
-
 
+#endif
index 92a66108e47769ba0e78a306bf30272c4556ebc9..fdde36467b3844ec790fce996cb33b74db68a1c6 100644 (file)
@@ -164,6 +164,3 @@ int WriteOutput (const char* Format, ...)
     /* Return the number of chars written */
     return CharCount;
 }
-
-
-
index bcabba7a9e837e3dca69444d782f0e0d94e93fa6..59a9defb3d8f2012caa0fa2158b7a14fb03fc0a7 100644 (file)
@@ -91,7 +91,5 @@ int WriteOutput (const char* Format, ...) attribute ((format (printf, 1, 2)));
 
 
 /* End of output.h */
-#endif
-
-
 
+#endif
index 980d46a20796de73bb6b76d1560f1a50306b58b9..01e4ea3cf0d85a02b77d713e647fed2fb1d6708b 100644 (file)
@@ -851,6 +851,3 @@ void DoPragma (void)
     /* Closing paren needed */
     ConsumeRParen ();
 }
-
-
-
index d75273fa6b02f016e28cba99a9c92dff05e4dc3e..f12dbaa8348249ebca6c31da09f278de02882c6c 100644 (file)
@@ -50,9 +50,5 @@ void DoPragma (void);
 
 
 /* End of pragma.h */
-#endif
-
-
-
-
 
+#endif
index 199388deb2a16c2d52185e11ed8345ee1459a67f..1885bc02e3cb45209517020249c35a401a917cc1 100644 (file)
@@ -1402,4 +1402,3 @@ Done:
                 (int) SB_GetLen (Line), SB_GetConstBuf (Line));
     }
 }
-
index 3b27225671387176365e4dd363a99200497ed1ba..8d7b3c37454850538a8523808143a29ca56479c6 100644 (file)
@@ -61,7 +61,5 @@ void Preprocess (void);
 
 
 /* End of preproc.h */
-#endif
-
-
 
+#endif
index 65c0734202aa9224023d4a1ac9649da229d82476..0bc8b5d640bdbb1be54e5e4305f794309cc4e807 100644 (file)
@@ -145,6 +145,3 @@ void DumpRegInfo (const char* Desc, const RegInfo* RI)
     fprintf (stdout, "Out: ");
     RC_Dump (stdout, &RI->Out);
 }
-
-
-
index 31281675ca5b2ac31bcbf35f5e6f2fa617f31c2b..31dc536c52c3779b001b06fd5a83f015c2a82b71 100644 (file)
@@ -127,8 +127,5 @@ void DumpRegInfo (const char* Desc, const RegInfo* RI);
 
 
 /* End of reginfo.h */
-#endif
-
-
-
 
+#endif
index 9d6553ae004bbc5e7ce4c23fa1ff3804a5975a36..6bc6b898560b34bfbb15dde1677dbc7074f50cc9 100644 (file)
@@ -1142,6 +1142,3 @@ int ConsumeRCurly (void)
 {
     return Consume (TOK_RCURLY, "`}' expected");
 }
-
-
-
index 77f2028b9e7b28535fa06a06cad23506e16a7f6b..eb835fd8436b0ddefb60930200ddc684beefa485 100644 (file)
@@ -304,10 +304,5 @@ int ConsumeRCurly (void);
 
 
 /* End of scanner.h */
-#endif
-
-
-
-
-
 
+#endif
index abddf06db0b0bdaf2ca632f1c7cac3c11ed73851..2749c10732a569969a0abd7a4e210e5f28a7ba04 100644 (file)
@@ -346,6 +346,3 @@ int SB_GetNumber (StrBuf* B, long* Val)
     *Val *= Sign;
     return 1;
 }
-
-
-
index a84bbd27627a2ceb4c271fef12e9ec9a5f77fcfa..10f05c6e8fa770444c9859b9540b735e31bd15cc 100644 (file)
@@ -77,9 +77,5 @@ int SB_GetNumber (StrBuf* B, long* Val);
 
 
 /* End of scanstrbuf.h */
-#endif
-
-
-
-
 
+#endif
index cdbd05e39b7a804290ba7b4a66a3108766c47f30..252399f0ba02871fcfe1ca1faf19e3db789c7b76 100644 (file)
@@ -300,6 +300,3 @@ void OutputSegments (const Segments* S)
     /* Output the code segment epiloque */
     CS_OutputEpilogue (S->Code);
 }
-
-
-
index cf6c72fba4b455e8b5d952e397e422d43df558e6..f55be688b1a50c0db367c5c78cfb11285744985e 100644 (file)
@@ -156,7 +156,5 @@ void OutputSegments (const Segments* S);
 
 
 /* End of segments.h */
-#endif
-
-
 
+#endif
index 44a42f304cf0772f05248b70ed20ac42f635298a..a5e67fc669fcdba825871660d414169149a5f233 100644 (file)
@@ -235,6 +235,3 @@ Next:
         Expr->Type = ResultType;
     }
 }
-
-
-
index b4c50d44b4481955cf3eb97ba71ee2d12571ba03..281710ff840cf76844ee43e1d3641d9b9ff6b915 100644 (file)
@@ -68,7 +68,3 @@ void ShiftExpr (struct ExprDesc* Expr);
 /* End of shiftexpr.h */
 
 #endif
-
-
-
-
index 26669fa5750bae6deff76ca268169c9ccc28a5a5..1f10e85007fe9b5a653d80671368ccf1fe3ca227 100644 (file)
@@ -68,7 +68,3 @@ void SP_Pop (const Type* T)
 {
     StackPtr += SizeOf (T);
 }
-
-
-
-
index 4232c0a46f0637c482b89fbcef084f9a304d1ef3..4f90f8dcc9f3e8e7fa7facecacf096a6ef7ecf70 100644 (file)
@@ -71,6 +71,3 @@ void SP_Pop (const Type* T);
 /* End of stackptr.h */
 
 #endif
-
-
-
index e6a842d2c28b177743959cc79d81ec6e7e044472..91f39faaa25dccba4d3d0238bd96891160141c5f 100644 (file)
@@ -79,6 +79,3 @@ standard_t FindStandard (const char* Name)
     /* Not found */
     return STD_UNKNOWN;
 }
-
-
-
index bebc154eeca70ee4b8abb66313b702602173a24f..587066cb42ae71390ccbc500d006009dcc2f3f43 100644 (file)
@@ -82,7 +82,3 @@ standard_t FindStandard (const char* Name);
 /* End of standard.h */
 
 #endif
-
-
-
-
index 1c3c89483a740da75b27e4de9288f753ff3c9d72..1730ee08ac08647502a14ae0dc0b31d71262db75 100644 (file)
@@ -1326,6 +1326,3 @@ void HandleStdFunc (int Index, FuncDesc* F, ExprDesc* lval)
     /* Call the handler function */
     D->Handler (F, lval);
 }
-
-
-
index 9716d2b3ee588f59c4cc98721dbf91ca15bc6420..baac616c3ad0547449fc0fc41f8dee25a009057c 100644 (file)
@@ -63,6 +63,3 @@ void HandleStdFunc (int Index, struct FuncDesc* F, ExprDesc* lval);
 /* End of stdfunc.h */
 
 #endif
-
-
-
index aa58e3be43c5cbf50b048886a13e04feac583627..687b53894cd35fe6bb1cb765f50e3a01856583f2 100644 (file)
@@ -50,6 +50,3 @@ const char Func_memset[]        = "memset";     /* Asm name of "memset" */
 const char Func_strcmp[]        = "strcmp";     /* Asm name of "strcmp" */
 const char Func_strcpy[]        = "strcpy";     /* Asm name of "strcpy" */
 const char Func_strlen[]        = "strlen";     /* Asm name of "strlen" */
-
-
-
index d60de04a2f8763c194d4e8368bc84c145947b3d3..dcb323924214c03a694d4a3990dff4deaf059b51 100644 (file)
@@ -56,6 +56,3 @@ extern const char Func_strlen[];        /* Asm name of "strlen" */
 /* End of stdnames.h */
 
 #endif
-
-
-
index 34a3148631681c011f9687b11db373e48273d85a..f59eca2e433611e1aea5880e4dc703f0a86ae9f7 100644 (file)
@@ -667,7 +667,3 @@ int Statement (int* PendingToken)
     }
     return 0;
 }
-
-
-
-
index 4a9a72e421e876f3021ac486c775242f100916e2..31a7c5f1997745c9835ededd5c03ed97b167468d 100644 (file)
@@ -59,6 +59,3 @@ int Statement (int* PendingToken);
 /* End of stmt.h */
 
 #endif
-
-
-
index 7e48b58d2cf0daf5677f3f3283a3407c3e479b38..d351738f55a9cff98903e6c0aa37736871eabe3b 100644 (file)
@@ -315,6 +315,3 @@ void DefaultLabel (void)
     /* Skip the colon */
     ConsumeColon ();
 }
-
-
-
index 1523217f1b63cce9e27388a44c5fb0f22117df62..b4facf2cd7c772f4efdd2f7e379f17230b6e97a3 100644 (file)
@@ -56,7 +56,5 @@ void DefaultLabel (void);
 
 
 /* End of swstmt.h */
-#endif
-
-
 
+#endif
index 41e14e673291021018ee9e478cecfa44c9ba344a..aca0ac63a90ba44fafa571f0c30dcb5f48011ba0 100644 (file)
@@ -262,6 +262,3 @@ int HasAnonName (const SymEntry* Entry)
 {
     return IsAnonName (Entry->Name);
 }
-
-
-
index 14d786995feead848711f1cb0507c0f3ac353c7c..e4a2c87e2e9fd49644e3abeaacc2c1d1d3fe559e 100644 (file)
@@ -272,7 +272,5 @@ int HasAnonName (const SymEntry* Entry);
 
 
 /* End of symentry.h */
-#endif
-
-
 
+#endif
index 4a44c770d5019d3b779912eb67aba07a07e9cef4..f0b5fefe20037259c1183b64964f7cc1148813ee 100644 (file)
@@ -984,6 +984,3 @@ void EmitDebugInfo (void)
         }
     }
 }
-
-
-
index 154dce55aa5be028bf2d50d9c0545c54e031fdd2..39782d6abe6f70ac50ffc90b6798200a32f5e2bd 100644 (file)
@@ -196,6 +196,3 @@ void EmitDebugInfo (void);
 /* End of symtab.h */
 
 #endif
-
-
-
index f95c94dd80449f1ddc7fd1b04920a84607eb3fb9..537ca784d2af12f16b13d7bcf5160251e55b0ec0 100644 (file)
@@ -123,7 +123,3 @@ unsigned TestInParens (unsigned Label, int Invert)
     /* Return the result of the expression */
     return Result;
 }
-
-
-
-
index bfc03318565d80e93aae6e1128bd72138b6f9981..67613482f3afee3381478c1b0a7bf257f8fa354c 100644 (file)
@@ -72,8 +72,5 @@ unsigned TestInParens (unsigned Label, int Invert);
 
 
 /* End of testexpr.h */
-#endif
-
-
-
 
+#endif
index 2275261e026b4d8719f1aaed6b4d0d8acf1c1f21..cbb393b50a55c8233d0e3d271eb53498cd8c37c8 100644 (file)
@@ -116,6 +116,3 @@ void TS_Output (const TextSeg* S)
     /* Add an additional newline after the segment output */
     WriteOutput ("\n");
 }
-
-
-
index 1c3aba53b01c3639dc6137d8ac26c4e2e976e80f..87b02ac8760141b812f6ec19b673dd8dcb884a30 100644 (file)
@@ -90,7 +90,5 @@ void TS_Output (const TextSeg* S);
 
 
 /* End of textseg.h */
-#endif
-
-
 
+#endif
index 139b3b3ffeea2ff65afc5878358dcf3fc72118d7..310abe9f65065a581bc6cba7a3ba772881b23aa4 100644 (file)
@@ -420,7 +420,3 @@ typecmp_t TypeCmp (const Type* lhs, const Type* rhs)
     /* Return the result */
     return Result;
 }
-
-
-
-
index 65258573804d74a1019ed91cc202705d05a305e4..5f95e42a10c146fcbd0564c3b7af89a3ab12960e 100644 (file)
@@ -75,7 +75,3 @@ typecmp_t TypeCmp (const Type* lhs, const Type* rhs);
 /* End of typecmp.h */
 
 #endif
-
-
-
-
index 6d50aa5c66af9d7c582176eef5bc93b26ac3ff6f..9a6f3ab23f10bd4f9ebb5539459dcb92e14dc1c8 100644 (file)
@@ -295,8 +295,3 @@ void TypeCast (ExprDesc* Expr)
     /* Convert the value. */
     DoConversion (Expr, NewType);
 }
-
-
-
-
-
index 2407862e1c14cc3cd1de96f0156adb66ce45c5bd..dd819e638227438a91a2e67211d612863309ce1f 100644 (file)
@@ -61,7 +61,5 @@ void TypeCast (ExprDesc* Expr);
 
 
 /* End of typeconv.h */
-#endif
-
-
 
+#endif
index db26dd7d2198280baae2275e4dbea6661ca1bf14..67cd9c7ba50d5dc6356e9840023e3cb4baa86191 100644 (file)
@@ -59,6 +59,3 @@ int PowerOf2 (unsigned long Val)
     }
     return -1;
 }
-
-
-
index 9fc7173396177bb9031f3ab19cfce37aee61c2a8..213ebf28a0815adb010ae0eb0fd96c8d02982b16 100644 (file)
@@ -54,6 +54,3 @@ int PowerOf2 (unsigned long Val);
 /* End of util.h */
 
 #endif
-
-
-
index 0bea32f94e32218d3c1187bbb2943b1fe4474a7c..64c1126b17900bf43fcf741624c2044e945259a2 100644 (file)
@@ -82,7 +82,6 @@
   <ItemGroup>
     <ClInclude Include="cl65\error.h" />
     <ClInclude Include="cl65\global.h" />
-    <ClInclude Include="cl65\spawn.h" />
   </ItemGroup>
   <ItemGroup>
     <None Include="cl65\spawn-amiga.inc" />
index c68b7fe642d83d58706169baeaecf6270e76fe5d..ee2adcfccc420d7a19ee4d65a225cf9dd9030bdb 100644 (file)
@@ -91,5 +91,3 @@ void Internal (const char* Format, ...)
     exit (EXIT_FAILURE);
 }
 
-
-
index 38999faec3eb8b6066a3f9f5644715a3ce92e65e..b1ff3066007743aac538574452c2ab3601ba8416 100644 (file)
@@ -58,6 +58,3 @@ void Internal (const char* Format, ...) attribute((noreturn, format(printf,1,2))
 /* End of error.h */
 
 #endif
-
-
-
index 31802041579d93b4c125384e6c69fb25800e000a..f522224acf3436a1c01389fd108930c63d134881 100644 (file)
@@ -44,6 +44,3 @@
 
 
 unsigned char Debug     = 0;            /* Debug mode enabled? */
-
-
-
index fd85dc2d593e05c0d5fdd142c4d841ef2cc4d572..2d2d9692107aeb466404c3bf9bde6a93acbb47c9 100644 (file)
@@ -51,6 +51,3 @@ extern unsigned char Debug;             /* Debug mode enabled? */
 /* End of global.h */
 
 #endif
-
-
-
index e704d985c16d78296248e8a61d185a48796eb4b5..b9b191dcda0791952d2120ae30ef81fa3853348f 100644 (file)
 /* Check out if we have a spawn() function on the system, or if we must use
  * our own.
  */
-#if defined(__WATCOMC__) || defined(_MSC_VER) || defined(__MINGW32__) || defined(__DJGPP__)
-#  define HAVE_SPAWN    1
+#if defined(_WIN32)
+#  define HAVE_SPAWN 1
 #else
-#  define NEED_SPAWN   1
+#  define NEED_SPAWN 1
 #endif
-#if defined(_MSC_VER)
-#  pragma warning(disable : 4996)
+
+/* GCC strictly follows http://c-faq.com/ansi/constmismatch.html and issues an
+ * 'incompatible pointer type' warning - that can't be suppressed via #pragma.
+ * The spawnvp() prototype of MinGW (http://www.mingw.org/) differs from the
+ * one of MinGW-w64 (http://mingw-w64.sourceforge.net/) regarding constness.
+ * So there's no alternative to actually distinguish these environments :-(
+ */
+#define SPAWN_ARGV_CONST_CAST
+#if defined(__MINGW32__)
+#  include <_mingw.h>
+#  if !defined(__MINGW64_VERSION_MAJOR)
+#    undef  SPAWN_ARGV_CONST_CAST
+#    define SPAWN_ARGV_CONST_CAST (const char* const *)
+#  endif
 #endif
 
 
@@ -51,7 +63,7 @@
 #include <string.h>
 #include <ctype.h>
 #include <errno.h>
-#ifdef HAVE_SPAWN
+#if defined(HAVE_SPAWN)
 #  include <process.h>
 #endif
 
@@ -375,7 +387,7 @@ static void ExecProgram (CmdDesc* Cmd)
     }
 
     /* Call the program */
-    Status = spawnvp (P_WAIT, Cmd->Name, Cmd->Args);
+    Status = spawnvp (P_WAIT, Cmd->Name, SPAWN_ARGV_CONST_CAST Cmd->Args);
 
     /* Check the result code */
     if (Status < 0) {
@@ -1526,6 +1538,3 @@ int main (int argc, char* argv [])
     /* Return an apropriate exit code */
     return EXIT_SUCCESS;
 }
-
-
-
index 4a0278cfacbe72fe0c70932d97c26f2a634f9a9c..5d1b60ea3ab0cae6da16d86d0c88e50d2d3f7d98 100644 (file)
@@ -82,6 +82,3 @@ int spawnvp (int Mode attribute ((unused)),
     /* Return the result */
     return Status;
 }
-
-
-
index a0334b8dbc0930640431365a71652ab268b9ebb7..fc5125c340529e5ba8a869e02b41055d598f0acb 100644 (file)
@@ -103,6 +103,3 @@ int spawnvp (int Mode attribute ((unused)), const char* File, char* const argv [
      */
     return WEXITSTATUS (Status);
 }
-
-
-
diff --git a/src/cl65/spawn.h b/src/cl65/spawn.h
deleted file mode 100644 (file)
index 6e75f55..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/*****************************************************************************/
-/*                                                                           */
-/*                                spawn.h                                    */
-/*                                                                           */
-/*                    Execute other external programs                        */
-/*                                                                           */
-/*                                                                           */
-/*                                                                           */
-/* (C) 1999     Ullrich von Bassewitz                                        */
-/*              Wacholderweg 14                                              */
-/*              D-70597 Stuttgart                                            */
-/* EMail:       uz@musoftware.de                                             */
-/*                                                                           */
-/*                                                                           */
-/* This software is provided 'as-is', without any expressed or implied       */
-/* warranty.  In no event will the authors be held liable for any damages    */
-/* arising from the use of this software.                                    */
-/*                                                                           */
-/* Permission is granted to anyone to use this software for any purpose,     */
-/* including commercial applications, and to alter it and redistribute it    */
-/* freely, subject to the following restrictions:                            */
-/*                                                                           */
-/* 1. The origin of this software must not be misrepresented; you must not   */
-/*    claim that you wrote the original software. If you use this software   */
-/*    in a product, an acknowledgment in the product documentation would be  */
-/*    appreciated but is not required.                                       */
-/* 2. Altered source versions must be plainly marked as such, and must not   */
-/*    be misrepresented as being the original software.                      */
-/* 3. This notice may not be removed or altered from any source              */
-/*    distribution.                                                          */
-/*                                                                           */
-/*****************************************************************************/
-
-
-
-#ifndef SPAWN_H
-#define SPAWN_H
-
-
-
-/*****************************************************************************/
-/*                                   Data                                    */
-/*****************************************************************************/
-
-
-
-/* Mode argument for spawn. This value is ignored by the function and only
- * provided for DOS/Windows compatibility.
- */
-#ifndef P_WAIT
-#define P_WAIT  0
-#endif
-
-
-
-/*****************************************************************************/
-/*                                   Code                                    */
-/*****************************************************************************/
-
-
-
-int spawnvp (int Mode, const char* File, char* const argv []);
-/* Execute the given program searching and wait til it terminates. The Mode
- * argument is ignored (compatibility only). The result of the function is
- * the return code of the program. The function will terminate the program
- * on errors.
- */
-
-
-
-/* End of spawn.h */
-#endif
-
-
-
index 6ae0510911f8ffc7e47eefb5948cb186c3af22db..b5068d5c07f1fcec80f0788ec512a0912326df8f 100644 (file)
@@ -502,6 +502,3 @@ void Convert (const O65Data* D)
     fprintf (F, ".end\n");
     fclose (F);
 }
-
-
-
index f000f55c48b77e00104ce9aea30781d0a5a8a4b4..22ef254247f10bc7f497e74197a3e64120243288 100644 (file)
@@ -63,6 +63,3 @@ void Convert (const struct O65Data* D);
 /* End of convert.h */
 
 #endif
-
-
-
index 5ee75661b6128788663c184d310f1ad33fc3929d..1c1625207047d13e1e287c488012a192f07b5e1f 100644 (file)
@@ -89,6 +89,3 @@ void Internal (const char* Format, ...)
     va_end (ap);
     exit (EXIT_FAILURE);
 }
-
-
-
index 1b3060a8426bc93e5ca8bea0143fda9644b9b251..4fb9d370d68ef12e37aa3457fc1d1b6a3437f1e2 100644 (file)
@@ -63,6 +63,3 @@ void Internal (const char* Format, ...) attribute((noreturn, format(printf,1,2))
 /* End of error.h */
 
 #endif
-
-
-
index 4846add3f58c11cfb61e4d0d7ae173f4ceb77cfc..9241797c6657a3c4ca508e879e35e11dafc30336 100644 (file)
@@ -103,6 +103,3 @@ void* ReadData (FILE* F, void* Data, unsigned Size)
     }
     return Data;
 }
-
-
-
index ccae880207f09de6e54a38c17a5cb8c25d74cf67..c5e9a003c74f1f8ffa195963a1b5e1b73e6b91ce 100644 (file)
@@ -71,6 +71,3 @@ void* ReadData (FILE* F, void* Data, unsigned Size);
 /* End of fileio.h */
 
 #endif
-
-
-
index 38748cc0e0ec784bfcc1107f4f3f8b896369e45b..bc9b0099bb5696e7b7d58c16a07a6c82c465e51e 100644 (file)
@@ -69,6 +69,3 @@ const char* ZeropageLabel   = 0;                /* Label for the zeropage segmen
 /* Flags */
 unsigned char DebugInfo     = 0;                /* Enable debug info */
 unsigned char NoOutput      = 0;                /* Suppress the actual conversion */
-
-
-
index 247b9de45c800a4c2daa211f75e0c40a496f8bf9..29c17ca294b71c3b357b0d94e0b0174721455757 100644 (file)
@@ -72,6 +72,3 @@ extern unsigned char    NoOutput;           /* Suppress the actual conversion */
 /* End of global.h */
 
 #endif
-
-
-
index 79aca87fa794860868982b1acb456674c3db02bf..5e0ee2ed7f6655a265b296e69871f63349e59e19 100644 (file)
@@ -412,6 +412,3 @@ int main (int argc, char* argv [])
     /* Return an apropriate exit code */
     return EXIT_SUCCESS;
 }
-
-
-
index 365eed49d4c38e7d8b23eadeb1a8e4899c0bcbbf..36ec574d69693eede2d9e34fd579a1f916320391 100644 (file)
@@ -91,6 +91,3 @@ O65Model FindModel (const char* ModelName)
     }
     return O65_MODEL_INVALID;
 }
-
-
-
index 1f44b89b4bca9b1f4adf6f7e4e151e170798fa3e..18ad136f1d7282daff3feb78c1d8912c206e170b 100644 (file)
@@ -81,6 +81,3 @@ O65Model FindModel (const char* ModelName);
 /* End of model.h */
 
 #endif
-
-
-
index 187e4fc387595afd4c107c47b41423d976b6e4c6..693dff44725203bd69475152b532bc5c18d8eee3 100644 (file)
@@ -434,6 +434,3 @@ const char* GetO65OptionText (const O65Option* O)
     Buf[I] = '\0';
     return Buf;
 }
-
-
-
index 6fb8433c535b973ec7bfc3fd5bdee98c480d40bb..d2361d34803b3a9cb6214e0b25cb65e73fcbb8d9 100644 (file)
@@ -230,8 +230,5 @@ const char* GetO65OptionText (const O65Option* O);
 
 
 /* End of o65.h */
-#endif
-
-
-
 
+#endif
index 0213bdde7ca13313445b451cb40872d9ff03e6cd..f3a0f4195b51624cc07fbbf54aedf90561052c85 100644 (file)
@@ -69,6 +69,3 @@ void AbEnd (const char* Format, ...)
     /* Terminate the program */
     exit (EXIT_FAILURE);
 }
-
-
-
index f32a3381dc61117dd992c833bb22b0cbbeff3473..e80db03a70f99d1cefa1d20de6912b50be2a43b8 100644 (file)
@@ -58,6 +58,3 @@ void AbEnd (const char* Format, ...) attribute ((format (printf, 1, 2), noreturn
 /* End of abend.h */
 
 #endif
-
-
-
index ad54618e6408a35ee70c2e145854125c5cfaa1d6..faa150b1dd6f1a282ed832821699e269e87efefd 100644 (file)
@@ -92,6 +92,3 @@ unsigned char AddrSizeFromStr (const char* Str)
     /* Not found */
     return ADDR_SIZE_INVALID;
 }
-
-
-
index d2c871e3faa30a080f6ce1da3fbd7df460085d91..ff61db413cef95d8eb7f427b11570e0fc6eb3d10 100644 (file)
@@ -72,6 +72,3 @@ unsigned char AddrSizeFromStr (const char* Str);
 /* End of addrsize.h */
 
 #endif
-
-
-
index 9dad01d3e09ac963bc9df310dfc3b67c615697bc..5712fce327963c43c75ff70d0f4f176afa098d40 100644 (file)
@@ -182,6 +182,3 @@ unsigned long AlignCount (unsigned long Addr, unsigned long Alignment)
 {
     return AlignAddr (Addr, Alignment) - Addr;
 }
-
-
-
index 6e8ffa3737261521330e221323d11ad2f0f58c4d..587225f00a7b797b21e22fd3a5dec800dde27dbc 100644 (file)
@@ -83,6 +83,3 @@ unsigned long AlignCount (unsigned long Addr, unsigned long Alignment);
 /* End of alignment.h */
 
 #endif
-
-
-
index d854c95f132e2b1df96e9f01d63dec5b7829e01a..dbce8562f08f4a50e3054fcb24f9311641f6c026 100644 (file)
@@ -58,6 +58,3 @@ int AssertAtAsmTime (AssertAction A)
 {
     return (A & 0x02U) == 0;
 }
-
-
-
index 3f41161beff5ddc3aa1a95a268e357fe39bcd9ec..7cb425e8c82b184108a4eb6148205c3820f39e17 100644 (file)
@@ -71,6 +71,3 @@ int AssertAtAsmTime (AssertAction A);
 /* End of assertion.h */
 
 #endif
-
-
-
index ff963f9c594c2699fb1ab3b07631a84498284647..07e08b2df1a4958c4fbf397aed893dfd67514d47 100644 (file)
@@ -55,6 +55,3 @@
 /* End of attrib.h */
 
 #endif
-
-
-
index 86633604b44f75509b65d4aabfdb5177ef8f2d44..9eba961b79ebbe2d7e330b1d62d2e978dd08f457 100644 (file)
@@ -123,6 +123,3 @@ void BitMerge (void* Target, const void* Source, unsigned Size)
         *T++ |= *S++;
     }
 }
-
-
-
index ade1d1e4eb2211d86d80bac88007a7981d3f5f84..71186ba5118b435acce3f44daaa171e6ae22c079 100644 (file)
@@ -71,6 +71,3 @@ void BitMerge (void* Target, const void* Source, unsigned Size);
 /* End of bitops.h */
 
 #endif
-
-
-
index 7b3dc5b9923d8fc0ad5b97cd2337b5afa3d70b7e..f59ac06c7f6cd09bc79187f7ed9c6d13fc966610 100644 (file)
@@ -76,6 +76,3 @@
 /* End of cddefs.h */
 
 #endif
-
-
-
index 4b8fa9e3d0719f239017e928120c6473ec796556..b1571f3f7f6d6cab9d54d87813d3269e8d3a42bb 100644 (file)
@@ -147,6 +147,3 @@ int IsQuote (char C)
 {
     return (C == '"' || C == '\'');
 }
-
-
-
index 6c38d98c8f0ac0cf48ddf113600badd474aacb71..9a45b2adda73e39c3d4297befcd71797f4039f9a 100644 (file)
@@ -112,6 +112,3 @@ int IsQuote (char C);
 /* End of chartype.h */
 
 #endif
-
-
-
index cb4589bf99c2a9f7bd0cc8c901c92da8334f1254..c6c5d2d95deff1fc375fc5944836ad306d9ecd95 100644 (file)
@@ -77,6 +77,3 @@ static void DefaultCheckFailed (const char* Msg, const char* Cond,
     /* Output a diagnostic and abort */
     AbEnd ("%s%s, file `%s', line %u", Msg, Cond, File, Line);
 }
-
-
-
index 3f26be79c85321662a5845f1f7a590e2dd8545db..a201a28a039c3cfe17750ee95d9e88d5fb0e3f67 100644 (file)
@@ -86,7 +86,5 @@ extern void (*CheckFailed) (const char* Msg, const char* Cond,
 
 
 /* End of check.h */
-#endif
-
-
 
+#endif
index 13a9da061eec6af01222f737b2fc3061d2981f49..a7485e0df6667db57badad7c2e3ed3dc7cb1d52f 100644 (file)
@@ -307,7 +307,3 @@ void LongOption (unsigned* ArgNum, const LongOpt* OptTab, unsigned OptCount)
     /* Invalid option */
     UnknownOption (Opt);
 }
-
-
-
-
index b3a483b6b61d92d6bffb20e102b80f72b2f7739d..cd8d5e71ed950d2f202864162e44822c979a1c2c 100644 (file)
@@ -102,6 +102,3 @@ void LongOption (unsigned* ArgNum, const LongOpt* OptTab, unsigned OptCount);
 /* End of cmdline.h */
 
 #endif
-
-
-
index 5112157aa8ee0b3127db49c493df2b61f56a9a24..2f321e287015236f51692fc12d51524a32a636e7 100644 (file)
@@ -504,6 +504,3 @@ void CollSort (Collection* C,
         QuickSort (C, 0, C->Count-1, Compare, Data);
     }
 }
-
-
-
index eacfac24838fe9b10ac140158cef9419ea87d83f..b0a64557ddafd9bc8c5b873f4e3385c7857bca0b 100644 (file)
@@ -301,7 +301,3 @@ void CollSort (Collection* C,
 /* End of coll.h */
 
 #endif
-
-
-
-
index 7b61ccdcc14812d6e10771eae566be452bf776e9..b79c9c16fdfbd8fadd821bed79f28a3be5cad90d 100644 (file)
@@ -134,6 +134,3 @@ cpu_t FindCPU (const char* Name)
     /* Not found */
     return CPU_UNKNOWN;
 }
-
-
-
index 121a54b7a6586f0c88d8b8389008fc078b3994fa..ce3391f31736f17a64cab221380f226fbd60216d 100644 (file)
@@ -102,6 +102,3 @@ cpu_t FindCPU (const char* Name);
 /* End of cpu.h */
 
 #endif
-
-
-
index d660018b598e950849a7daad4447a7f097700267..7d2e800097f8fc859df27062c042760c1814261b 100644 (file)
@@ -45,6 +45,3 @@
 
 
 unsigned char Debug             = 0;    /* Debug mode */
-
-
-
index f62e60e82f9294e030f08ab4dca6370f096f4577..d325a9eb9d8699fe94891142886314dad8901571 100644 (file)
@@ -49,7 +49,5 @@ extern unsigned char    Debug;                  /* Debug mode */
 
 
 /* End of debugflag.h */
-#endif
-
-
 
+#endif
index 69eda4c4dd4fe55d07c718ce1439abf531e0db6b..d9a5adf6be1ac9858f555da2084cb8219bf7815f 100644 (file)
@@ -232,6 +232,3 @@ void DumpExpr (const ExprNode* Expr, const ExprNode* (*ResolveSym) (const struct
     InternalDumpExpr (Expr, ResolveSym);
     printf ("\n");
 }
-
-
-
index 933677fa33b92ef37e8870489435fb3b5f0af2a6..5465c4f254912e1904195ce5cc6ac13db3a8c12e 100644 (file)
@@ -145,6 +145,3 @@ void DumpExpr (const ExprNode* Expr, const ExprNode* (*ResolveSym) (const struct
 /* End of exprdefs.h */
 
 #endif
-
-
-
index fe26aff791c840367f0714aac84ca364142a336d..a30a6b5e1c1ce00d6c0c4929ca1433b81d3654ad 100644 (file)
@@ -74,6 +74,3 @@ const FileId* GetFileId (const char* Name, const FileId* Table, unsigned Count)
     /* Search for a table entry and return it */
     return bsearch (Ext+1, Table, Count, sizeof (FileId), CompareFileId);
 }
-
-
-
index 751c4ca173547729178f4b5ae921740c45959063..9c5dd863c6054d03b5cd795727261cf030cb5a3d 100644 (file)
@@ -74,7 +74,5 @@ const FileId* GetFileId (const char* Name, const FileId* Table, unsigned Count);
 
 
 /* End of fileid.h */
-#endif
-
-
 
+#endif
index bf688849507979ecf119af938785c79f30609b82..42097424c85875004a3eb2329b03f2245c35be43 100644 (file)
@@ -76,6 +76,3 @@ int CompareFilePos (const FilePos* P1, const FilePos* P2)
         return 0;
     }
 }
-
-
-
index 21ef2e7b0c570ba26f6526775bacdce76649b04c..ad9b70aeeaac3520bd310ab0d3016bcc6db5abcd 100644 (file)
@@ -77,6 +77,3 @@ int CompareFilePos (const FilePos* P1, const FilePos* P2);
 /* End of filepos.h */
 
 #endif
-
-
-
index 0f5f5cd11b3a2284eee74756c057db3963b2c43f..d592c60cf40753dfd42d55bd0a4bd8be4231e36e 100644 (file)
@@ -2,7 +2,7 @@
 /*                                                                           */
 /*                                filestat.c                                 */
 /*                                                                           */
-/*                   Replacement for buggy Microsoft code                    */
+/*                       Replacement for Windows code                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 #include <sys/types.h>
 #include <sys/stat.h>
-#if defined(__WATCOMC__) && defined(__NT__)
-#define BUGGY_OS 1
-#include <errno.h>
-#include <windows.h>
+#if defined(_WIN32)
+#  include <errno.h>
+#  include <windows.h>
 #endif
 
 /* common */
@@ -63,7 +62,7 @@
 
 
 
-#if defined(BUGGY_OS)
+#if defined(_WIN32)
 
 
 
@@ -77,7 +76,7 @@ static time_t FileTimeToUnixTime (const FILETIME* T)
      * way to express a number > 32 bit (known to me) but is able to do
      * calculations with 64 bit integers, so we need to do it this way.
      */
-    static const ULARGE_INTEGER Offs = { 0xB6109100UL, 0x00000020UL };
+    static const ULARGE_INTEGER Offs = { { 0xB6109100UL, 0x00000020UL } };
     ULARGE_INTEGER V;
     V.LowPart  = T->dwLowDateTime;
     V.HighPart = T->dwHighDateTime;
index 50b7685efe39408965dcfad22fb57e84b3fb69df..2c13f2611b59234d328140b8b8fc01e8692db681 100644 (file)
@@ -2,7 +2,7 @@
 /*                                                                           */
 /*                                filestat.h                                 */
 /*                                                                           */
-/*                   Replacement for buggy Microsoft code                    */
+/*                       Replacement for Windows code                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -68,6 +68,3 @@ int FileStat (const char* Path, struct stat* Buf);
 /* End of filestat.h */
 
 #endif
-
-
-
index 0253807591cd6142d3a25b0892ee88c0a0438800..cf7967da5e2540c85d3d930e220fd7425e166363 100644 (file)
@@ -2,7 +2,7 @@
 /*                                                                           */
 /*                                filetime.c                                 */
 /*                                                                           */
-/*                   Replacement for buggy Microsoft code                    */
+/*                       Replacement for Windows code                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
 
 
 
-#if defined(__WATCOMC__) && defined(__NT__)
-#define BUGGY_OS 1
-#include <errno.h>
-#include <windows.h>
+#if defined(_WIN32)
+#  include <errno.h>
+#  include <windows.h>
 #else
-#if defined(__WATCOMC__) || defined(_MSC_VER) || defined(__MINGW32__)
-/* The Windows compilers have the file in the wrong directory */
-#  include <sys/utime.h>
-#else
-#  include <sys/types.h>                /* FreeBSD needs this */
+#  include <sys/types.h>                          /* FreeBSD needs this */
 #  include <utime.h>
 #endif
-#endif
 
 
 /* common */
@@ -68,7 +62,7 @@
 
 
 
-#if defined(BUGGY_OS)
+#if defined(_WIN32)
 
 
 
@@ -82,7 +76,7 @@ static FILETIME* UnixTimeToFileTime (time_t T, FILETIME* FT)
      * way to express a number > 32 bit (known to me) but is able to do
      * calculations with 64 bit integers, so we need to do it this way.
      */
-    static const ULARGE_INTEGER Offs = { 0xB6109100UL, 0x00000020UL };
+    static const ULARGE_INTEGER Offs = { { 0xB6109100UL, 0x00000020UL } };
     ULARGE_INTEGER V;
     V.QuadPart = ((unsigned __int64) T + Offs.QuadPart) * 10000000U;
     FT->dwLowDateTime  = V.LowPart;
@@ -150,6 +144,3 @@ int SetFileTimes (const char* Path, time_t T)
 
 
 #endif
-
-
-
index 8a27712d90b62a9231448eb97aa0b3509a78cf63..c4027e249c0f2a3692e38e02735f233bacb21944 100644 (file)
@@ -2,7 +2,7 @@
 /*                                                                           */
 /*                                filetime.h                                 */
 /*                                                                           */
-/*                   Replacement for buggy Microsoft code                    */
+/*                       Replacement for Windows code                        */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
@@ -68,6 +68,3 @@ int SetFileTimes (const char* Path, time_t T);
 /* End of filestat.h */
 
 #endif
-
-
-
index 3e5779eb8f8c04c4dd82ad67ea5e4e05f508819e..7e7917a64f58c4b9078726ea2a10d992cbf3b99d 100644 (file)
@@ -104,6 +104,3 @@ FILETYPE GetFileType (const char* Name)
     /* Return the result */
     return F? F->Id : FILETYPE_UNKNOWN;
 }
-
-
-
index c1294d5f4a882510703ea8bec4b5ecdab0a5dcaf..1a6a9aa34393286b065f01f870ede92601404d00 100644 (file)
@@ -71,7 +71,5 @@ FILETYPE GetFileType (const char* Name);
 
 
 /* End of filetype.h */
-#endif
-
-
 
+#endif
index 5fd56338d43662a1b66fcf944abc123500cd50b5..1c8c36f257748987ef73caf4a9f80ff3b93bb8c9 100644 (file)
@@ -115,6 +115,3 @@ char* MakeFilename (const char* Origin, const char* Ext)
     }
     return Out;
 }
-
-
-
index c9c3848f78a140fdb494aad82f5ad1f8026eabd3..1f5040c494ecf1100b628a07de54ccea9e1392f3 100644 (file)
@@ -64,6 +64,3 @@ char* MakeFilename (const char* Origin, const char* Ext);
 /* End of fname.h */
 
 #endif
-
-
-
index cfec86e42226ccc8b771027476c85f4519111134..602bfde8b6b201c02d6bb88e0738f834670855d6 100644 (file)
@@ -236,6 +236,3 @@ Double FP_D_Div (Double Left, Double Right)
     D.V = Left.V / Right.V;
     return D;
 }
-
-
-
index 8544c453f292c6d9cfa46c283f37de3a4df155df..f9444bbce271c5d13f1dd490f4b949f06f70f259 100644 (file)
@@ -140,8 +140,3 @@ Double FP_D_Div (Double Left, Double Right);
 /* End of fp.h */
 
 #endif
-
-
-
-
-
index c0a37ffcd156a610b599582ad46287e2e6a417e7..c3e589cb23e658bb9426d39f62233e30d51d9ce7 100644 (file)
@@ -70,6 +70,3 @@
 /* End of fragdefs.h */
 
 #endif
-
-
-
index aa1471aa423d4ee495dd67ee574d9e6f0453107f..019569084db7d6b1c666998648b2376a3c008f5e 100644 (file)
@@ -123,6 +123,3 @@ const char* GT_AsString (const StrBuf* Type, StrBuf* String)
     /* Return the contents of String */
     return SB_GetConstBuf (String);
 }
-
-
-
index 1a2440f463367b685f3b2d7bde4fa485a6d3f2e2..5294f9e05b6acd1ecbee8ab0c819540783c69470 100644 (file)
@@ -152,7 +152,3 @@ const char* GT_AsString (const StrBuf* Type, StrBuf* String);
 /* End of gentype.h */
 
 #endif
-
-
-
-
index 6774c88fc601e851c99ecf065adada4d4a81f155..3730cb0bada7f2dfae9946a70414bccc7d3c70e0 100644 (file)
@@ -89,6 +89,3 @@ unsigned HashBuf (const StrBuf* S)
     }
     return H;
 }
-
-
-
index 4d8b5ac7b35afc2fccad6abfce0cd024b3bbfe23..2645474cfed4471f07ece67a08559c530734547b 100644 (file)
@@ -64,6 +64,3 @@ unsigned HashBuf (const StrBuf* S) attribute ((const));
 /* End of hashfunc.h */
 
 #endif
-
-
-
index 376e26a28e3fc768b7e78b27dd218d035d358a88..36a3b389c6810e1310b0ab70706a19d86cddc10a 100644 (file)
@@ -244,6 +244,3 @@ void HT_Walk (HashTable* T, int (*F) (void* Entry, void* Data), void* Data)
         }
     }
 }
-
-
-
index a8397db4069f5fb2186b2ca8751e45a37cb67a7a..260a68b39cce4c2e77402c859a0a728a00fedd6c 100644 (file)
@@ -177,6 +177,3 @@ void HT_Walk (HashTable* T, int (*F) (void* Entry, void* Data), void* Data);
 /* End of hashtab.h */
 
 #endif
-
-
-
index c1e6487ce715c321242caaf494e4c92bfb652a66..1f8d21de305d5f798384942396dbabc5b4343fcf 100644 (file)
@@ -77,6 +77,3 @@
 /* End of hlldbgsyms.h */
 
 #endif
-
-
-
index 3857511a1b35845f72e6c0679e399c4f800c9d3e..b90b3d1f459c172ab511e41217020fce1a7c70ed 100644 (file)
@@ -54,6 +54,3 @@
 /* End of inline.h */
 
 #endif
-
-
-
index f5518e337d80e4871f4cb32b74e6b0f39826b2ca..3f99e885420269fa4beeb54a2b78a2cd4b14bb04 100644 (file)
@@ -87,6 +87,3 @@ long IS_Pop (IntStack* S)
     PRECONDITION (S->Count > 0);
     return S->Stack[--S->Count];
 }
-
-
-
index f3fbf081b37c98e897c0b45165dccf8a84ee931e..313a846c1a770bfe61eac8b363548579a2a2c8c6 100644 (file)
@@ -116,7 +116,5 @@ long IS_Pop (IntStack* S);
 
 
 /* End of intstack.h */
-#endif
-
-
 
+#endif
index 3c87eb7bec468e2b2838969c77107e24d20b5c35..24f822a0d7584ad385948da458fadb03f3d2b603 100644 (file)
@@ -62,7 +62,5 @@ typedef unsigned long uintmax_t;
 
 
 /* End of inttypes.h */
-#endif
-
-
 
+#endif
index 19b3a8290d6638022bfa8293856d782392ff87da..d91084c26e0da5a1f5e702b9264d0b5da1c328e1 100644 (file)
@@ -67,6 +67,3 @@ struct LibHeader {
 /* End of libdefs.h */
 
 #endif
-
-
-
index 3c996f710d544ae17d9fe3c33fdf710439d32ff3..29d47b57a84fcf58301c46bb89922beff3241251 100644 (file)
@@ -62,6 +62,3 @@
 /* End of lidefs.h */
 
 #endif
-
-
-
index 9ea17cdb41c219b5a835d66d8e0cd21f04db79fc..c84124491fb1c078992ca2d9ee8841c7234bec1a 100644 (file)
@@ -238,6 +238,3 @@ int MatchPattern (const char* Source, const char* Pattern)
     /* Do the real thing */
     return RecursiveMatch ((const unsigned char*) Source, (const unsigned char*) Pattern);
 }
-
-
-
index ddf431ff9fda398bd0e94732848a9788eae342ad..2612e378c76cdb69c79b53847cf81359d9fec101 100644 (file)
@@ -61,6 +61,3 @@ int MatchPattern (const char* Source, const char* Pattern);
 /* End of matchpat.h */
 
 #endif
-
-
-
index 7ed0f9b3f3fe1e0f58c231f65465499ef5bf1d5e..a51d900fd7463738bf15113f3dc76d0479cac09e 100644 (file)
@@ -124,5 +124,3 @@ void SetMemoryModel (mmodel_t Model)
     /* Zeropage is always zeropage */
     ZpAddrSize = ADDR_SIZE_ZP;
 }
-
-
index 043e930376a2a25cae2f675159d34973a8251dad..b3c3188d9f6456438f578028781ec7b965981274 100644 (file)
@@ -82,6 +82,3 @@ void SetMemoryModel (mmodel_t Model);
 /* End of mmodel.h */
 
 #endif
-
-
-
index 608a4dc62fe162b6ac01db9e9f1a39c29addc562..537ed2d57c2b7a1260ff9b8e42cf85337184a834 100644 (file)
@@ -92,6 +92,3 @@ struct ObjHeader {
 /* End of objdefs.h */
 
 #endif
-
-
-
index 55264ca88aeb9043506e742ac0aba49a61ecbbdd..fae517667d7f9e7a1648560118dd0d9fa9c767e7 100644 (file)
@@ -72,6 +72,3 @@ struct Option {
 /* End of optdefs.h */
 
 #endif
-
-
-
index 53b2aa210d16f81ccf297cb4b1aff86c7c8bf743..70f43bc35979728db1444c67d543cdcab40451e9 100644 (file)
@@ -72,6 +72,3 @@ void Print (FILE* F, unsigned V, const char* Format, ...)
     vfprintf (F, Format, ap);
     va_end (ap);
 }
-
-
-
index 92b654910274b6ec26586246362ff5364efffbc6..d570d3ec675577d90697cebe501fe7dafdf9eba7 100644 (file)
@@ -70,7 +70,3 @@ void Print (FILE* F, unsigned V, const char* Format, ...)
 /* End of print.h */
 
 #endif
-
-
-
-
index 08a7f5ec8720d2955fb95acca749bbdcfd08e6b7..31e493f2b0964116ea5a737ba21b170d91949da4 100644 (file)
@@ -76,6 +76,3 @@ enum {
 /* End of scopedefs.h */
 
 #endif
-
-
-
index 16945f36d4ab344a2a57533286cc6de4561be477..4aa703c809bb77df0010570c995ae43f58c23868 100644 (file)
 
 #include <stdlib.h>
 #include <string.h>
+#if defined(_WIN32)
+#  include <windows.h>
+#endif
 #if defined(_MSC_VER)
 /* Microsoft compiler */
 #  include <io.h>
-#  pragma warning(disable : 4996)
 #else
 /* Anyone else */
 #  include <unistd.h>
@@ -83,7 +85,7 @@ static char* CleanupPath (const char* Path)
 
 
 
-static void Add (SearchPath* P, const char* New)
+static void Add (SearchPaths* P, const char* New)
 /* Cleanup a new search path and add it to the list */
 {
     /* Add a clean copy of the path to the collection */
@@ -92,7 +94,7 @@ static void Add (SearchPath* P, const char* New)
 
 
 
-SearchPath* NewSearchPath (void)
+SearchPaths* NewSearchPath (void)
 /* Create a new, empty search path list */
 {
     return NewCollection ();
@@ -100,7 +102,7 @@ SearchPath* NewSearchPath (void)
 
 
 
-void AddSearchPath (SearchPath* P, const char* NewPath)
+void AddSearchPath (SearchPaths* P, const char* NewPath)
 /* Add a new search path to the end of an existing list */
 {
     /* Allow a NULL path */
@@ -111,7 +113,7 @@ void AddSearchPath (SearchPath* P, const char* NewPath)
 
 
 
-void AddSearchPathFromEnv (SearchPath* P, const char* EnvVar)
+void AddSearchPathFromEnv (SearchPaths* P, const char* EnvVar)
 /* Add a search path from an environment variable to the end of an existing
  * list.
  */
@@ -121,7 +123,7 @@ void AddSearchPathFromEnv (SearchPath* P, const char* EnvVar)
 
 
 
-void AddSubSearchPathFromEnv (SearchPath* P, const char* EnvVar, const char* SubDir)
+void AddSubSearchPathFromEnv (SearchPaths* P, const char* EnvVar, const char* SubDir)
 /* Add a search path from an environment variable, adding a subdirectory to
  * the environment variable value.
  */
@@ -157,21 +159,20 @@ void AddSubSearchPathFromEnv (SearchPath* P, const char* EnvVar, const char* Sub
 
 
 
-void AddSubSearchPathFromWinBin (SearchPath* P, const char* SubDir)
+void AddSubSearchPathFromWinBin (SearchPaths* P, const char* SubDir)
 {
 /* Windows only:
  * Add a search path from the running binary, adding a subdirectory to
  * the parent directory of the directory containing the binary.
  */
-#if defined(_MSC_VER)
+#if defined(_WIN32)
 
     char Dir[_MAX_PATH];
     char* Ptr;
 
-    if (_get_pgmptr (&Ptr) != 0) {
+    if (GetModuleFileName (NULL, Dir, _MAX_PATH) == 0) {
         return;
     }
-    strcpy (Dir, Ptr);
 
     /* Remove binary name */
     Ptr = strrchr (Dir, '\\');
@@ -204,7 +205,7 @@ void AddSubSearchPathFromWinBin (SearchPath* P, const char* SubDir)
 }
 
 
-int PushSearchPath (SearchPath* P, const char* NewPath)
+int PushSearchPath (SearchPaths* P, const char* NewPath)
 /* Add a new search path to the head of an existing search path list, provided
  * that it's not already there. If the path is already at the first position,
  * return zero, otherwise return a non zero value.
@@ -227,7 +228,7 @@ int PushSearchPath (SearchPath* P, const char* NewPath)
 
 
 
-void PopSearchPath (SearchPath* P)
+void PopSearchPath (SearchPaths* P)
 /* Remove a search path from the head of an existing search path list */
 {
     /* Remove the path at position 0 */
@@ -237,7 +238,7 @@ void PopSearchPath (SearchPath* P)
 
 
 
-char* SearchFile (const SearchPath* P, const char* File)
+char* SearchFile (const SearchPaths* P, const char* File)
 /* Search for a file in a list of directories. Return a pointer to a malloced
  * area that contains the complete path, if found, return 0 otherwise.
  */
@@ -271,6 +272,3 @@ char* SearchFile (const SearchPath* P, const char* File)
     SB_Done (&PathName);
     return Name;
 }
-
-
-
index 555a0e18e4b0a33dde2e8c0becfeab7c37c5590f..d1947d2be077a43841563195a80f34553bcfdb2d 100644 (file)
@@ -53,7 +53,7 @@
 #define  STRINGIZE(arg) _STRINGIZE(arg)
 
 /* A search path is a pointer to the list */
-typedef struct Collection SearchPath;
+typedef struct Collection SearchPaths;
 
 
 
@@ -63,38 +63,38 @@ typedef struct Collection SearchPath;
 
 
 
-SearchPath* NewSearchPath (void);
+SearchPaths* NewSearchPath (void);
 /* Create a new, empty search path list */
 
-void AddSearchPath (SearchPath* P, const char* NewPath);
+void AddSearchPath (SearchPaths* P, const char* NewPath);
 /* Add a new search path to the end of an existing list */
 
-void AddSearchPathFromEnv (SearchPath* P, const char* EnvVar);
+void AddSearchPathFromEnv (SearchPaths* P, const char* EnvVar);
 /* Add a search path from an environment variable to the end of an existing
  * list.
  */
 
-void AddSubSearchPathFromEnv (SearchPath* P, const char* EnvVar, const char* SubDir);
+void AddSubSearchPathFromEnv (SearchPaths* P, const char* EnvVar, const char* SubDir);
 /* Add a search path from an environment variable, adding a subdirectory to
  * the environment variable value.
  */
 
-void AddSubSearchPathFromWinBin (SearchPath* P, const char* SubDir);
+void AddSubSearchPathFromWinBin (SearchPaths* P, const char* SubDir);
 /* Windows only:
  * Add a search path from the running binary, adding a subdirectory to
  * the parent directory of the directory containing the binary.
  */
 
-int PushSearchPath (SearchPath* P, const char* NewPath);
+int PushSearchPath (SearchPaths* P, const char* NewPath);
 /* Add a new search path to the head of an existing search path list, provided
  * that it's not already there. If the path is already at the first position,
  * return zero, otherwise return a non zero value.
  */
 
-void PopSearchPath (SearchPath* P);
+void PopSearchPath (SearchPaths* P);
 /* Remove a search path from the head of an existing search path list */
 
-char* SearchFile (const SearchPath* P, const char* File);
+char* SearchFile (const SearchPaths* P, const char* File);
 /* Search for a file in a list of directories. Return a pointer to a malloced
  * area that contains the complete path, if found, return 0 otherwise.
  */
@@ -102,7 +102,5 @@ char* SearchFile (const SearchPath* P, const char* File);
 
 
 /* End of searchpath.h */
-#endif
-
-
 
+#endif
index e8f6883f658821afcefb9f685c0ea3a057e23efd..10a366582f8fd537eff750c3fa40dc4c428af332 100644 (file)
@@ -52,6 +52,3 @@
 /* End of segdefs.h */
 
 #endif
-
-
-
index 2bed984ed4071dc98d98c747c58e3fe8281ee254..bb9aac351b20b09ec6b9ac84a0ab44597453a5c6 100644 (file)
@@ -65,6 +65,3 @@ int ValidSegName (const char* Name)
     /* Name is ok */
     return 1;
 }
-
-
-
index 071cb387b0372a824ee52951236102548e887ddd..0d57d6ac3ba428071cc3bd1aede89385bf7f44b2 100644 (file)
@@ -68,6 +68,3 @@ int ValidSegName (const char* Name);
 /* End of segnames.h */
 
 #endif
-
-
-
index 156dbd22ce37697c01ceac8727f930a062ca432e..f9a842a88076a4a9143789c5a7077761e0a4376a 100644 (file)
@@ -125,6 +125,3 @@ unsigned long shr_l (unsigned long l, unsigned count)
     }
     return l;
 }
-
-
-
index 4bf96e335be9ac2218dcf0a2cfa1c9bec902465a..07c192acb85b87b78ce7b546dd8c6509878106be 100644 (file)
@@ -79,6 +79,3 @@ unsigned long shr_l (unsigned long l, unsigned count);
 /* End of shift.h */
 
 #endif
-
-
-
index 029fe5ad47f0e33be0a7272f810670cc64d0ad9e..600f2374ab471f50a1871c46b8dafab352073019 100644 (file)
@@ -493,6 +493,3 @@ void SB_Printf (StrBuf* S, const char* Format, ...)
     SB_VPrintf (S, Format, ap);
     va_end (ap);
 }
-
-
-
index 4d90637d5aa7b1bd8e7e545065ec91a46fc926ca..c8ec1f10b40b988e0ee015b674bc72082c96d756 100644 (file)
@@ -421,6 +421,3 @@ void SB_Printf (StrBuf* S, const char* Format, ...) attribute ((format (printf,
 /* End of strbuf.h */
 
 #endif
-
-
-
index 963ecaf0a95215d680b0ac43c86be408af0b9514..c5661be75bca90f807ad89015e0283455a2d6d63 100644 (file)
@@ -281,6 +281,3 @@ unsigned SP_GetCount (const StringPool* P)
 {
     return CollCount (&P->Entries);
 }
-
-
-
index 60b8b34519c32c70439c32f220b98eb38b7d384c..967bce4abba33e81bd89a042a6823ea84afcae96 100644 (file)
@@ -101,6 +101,3 @@ unsigned SP_GetCount (const StringPool* P);
 /* End of strpool.h */
 
 #endif
-
-
-
index c316399b2bdf04c5e9ed92957d63565fb9bd1b1e..508af178edb5c1b14efd457014587560af404e97 100644 (file)
@@ -80,6 +80,3 @@ void SS_Push (StrStack* S, const char* Val)
     CHECK (S->Count < sizeof (S->Stack) / sizeof (S->Stack[0]));
     S->Stack[S->Count++] = xstrdup (Val);
 }
-
-
-
index 6331241de749eb92a7d7104e2174a5b0fa44bc36..d29a47993daaf13c4cc28bfd1bf172fe4b85eb85 100644 (file)
@@ -100,7 +100,5 @@ void SS_Push (StrStack* S, const char* Val);
 
 
 /* End of strstack.h */
-#endif
-
-
 
+#endif
index 24daa222a60e7ba127e43e4683c3bb6b93ddd329..2bdcc56865a235d1c55c201523783326b5ff4f9f 100644 (file)
@@ -62,6 +62,3 @@ int StrCaseCmp (const char* S1, const char* S2);
 /* End of strutil.h */
 
 #endif
-
-
-
index fbe0bc168294b1fdec622c7e343eab4c1f0b8f87..1a487e0f3f27f96663f49684d6c61f970ae31056 100644 (file)
 /* End of symdefs.h */
 
 #endif
-
-
-
index 8fd3dcf87d20cb71c3bcc3e268121c10f08bcf69..803a8894c310d173ed5af08e48c0c46cf40e03ac 100644 (file)
@@ -234,4 +234,3 @@ const char* GetTargetName (target_t Target)
     /* Return the array entry */
     return GetTargetProperties (Target)->Name;
 }
-
index d37713e214db3c880c912c1beb931ecded50e525..e824ad3c6d3b1beb4f6431c811c6d6b92cdac355 100644 (file)
@@ -119,7 +119,5 @@ const char* GetTargetName (target_t Target);
 
 
 /* End of target.h */
-#endif
-
-
 
+#endif
index a1b61cbd319e98de0bba1171fc91db3605cb9bad..7725cf285e5c83a8fcea5b0c5d3fcfa4d389e8e1 100644 (file)
@@ -127,8 +127,3 @@ void TgtTranslateSet (unsigned Index, unsigned char C)
     CHECK (Index > 0 && Index < sizeof (Tab));
     Tab[Index] = C;
 }
-
-
-
-
-
index e4f08f71a3bab4463db1ce3977e984a51a2c54a2..5b942e7f56fdbbde5a09e5bdee66687ba91e0d7e 100644 (file)
@@ -75,6 +75,3 @@ void TgtTranslateSet (unsigned Index, unsigned char C);
 /* End of tgttrans.h */
 
 #endif
-
-
-
index 30f27546138e742155b1ba602ba98ac7cea5925c..2f56efa1a6e4cb28b939c374843d51fd2ee52210 100644 (file)
@@ -74,7 +74,5 @@
 
 
 /* End of va_copy.h */
-#endif
-
-
 
+#endif
index e5d52c02d6fabc97dd2ecaa93510b590e1569493..d2fcf4f409379745b0feacf27efbb42a54520d58 100644 (file)
 
 
 
-#include "version.h"
+/* common */
 #include "xsprintf.h"
+#include "searchpath.h"
+#include "version.h"
 
 
 
@@ -46,9 +48,6 @@
 
 #define VER_MAJOR       2U
 #define VER_MINOR       14U
-#define VER_PATCH       0U
-#define VER_RC          0U
-
 
 
 
 const char* GetVersionAsString (void)
 /* Returns the version number as a string in a static buffer */
 {
-    static char Buf[20];
-#if defined(VER_RC) && (VER_RC > 0U)
-    xsnprintf (Buf, sizeof (Buf), "%u.%u.%u-rc%u", VER_MAJOR, VER_MINOR, VER_PATCH, VER_RC);
+    static char Buf[60];
+#if defined(GIT_SHA)
+    xsnprintf (Buf, sizeof (Buf), "%u.%u - Git %s", VER_MAJOR, VER_MINOR, STRINGIZE (GIT_SHA));
 #else
-    xsnprintf (Buf, sizeof (Buf), "%u.%u.%u", VER_MAJOR, VER_MINOR, VER_PATCH);
+    xsnprintf (Buf, sizeof (Buf), "%u.%u", VER_MAJOR, VER_MINOR);
 #endif
     return Buf;
 }
@@ -75,8 +74,5 @@ const char* GetVersionAsString (void)
 unsigned GetVersionAsNumber (void)
 /* Returns the version number as a combined unsigned for use in a #define */
 {
-    return ((VER_MAJOR * 0x100) + (VER_MINOR * 0x10) + VER_PATCH);
+    return ((VER_MAJOR * 0x100) + (VER_MINOR * 0x10));
 }
-
-
-
index edf5d2c5688e9304c3d2f1819e273ef4ad7cb622..145c2edddfa5ffbb813587403566ade4c6fb79b3 100644 (file)
@@ -55,7 +55,3 @@ unsigned GetVersionAsNumber (void);
 /* End of version.h */
 
 #endif
-
-
-
-
index 1a7b915ab475cd270345a21a09072df57fc8dd33..327d378fed888a6edbdb7be5d682a51583a7edfd 100644 (file)
@@ -125,6 +125,3 @@ void* xdup (const void* Buf, size_t Size)
 {
     return memcpy (xmalloc (Size), Buf, Size);
 }
-
-
-
index 3979a96171300d006297b10526dd49daa1941a15..eb196b6a14800732003286d8de1cd9e223c25d8e 100644 (file)
@@ -68,6 +68,3 @@ void* xdup (const void* Buf, size_t Size);
 /* End of xmalloc.h */
 
 #endif
-
-
-
index c33f32b241dda11eb4e4da40b98a0e61c4776799..ea63b6d7e7df690570907ef262ed20acecf5ab13 100644 (file)
@@ -676,6 +676,3 @@ int xvsprintf (char* Buf, size_t BufSize, const char* Format, va_list ap)
     CHECK (Res >= 0 && (unsigned) (Res+1) < BufSize);
     return Res;
 }
-
-
-
index 07672c5c457f0b0553b53ffbc7f445174e925e9f..c6ceb723cddcb829376d35e89736c424b83f6f7e 100644 (file)
@@ -88,7 +88,3 @@ int xvsprintf (char* Buf, size_t BufSize, const char* Format, va_list ap)
 /* End of xsprintf.h */
 
 #endif
-
-
-
-
index 079b751badc6617c8b92fd59cbd9db46f1e77844..4f496c79fe0c8be726b873baa5bf64ce2f7ff98d 100644 (file)
@@ -233,6 +233,3 @@ void AsmInc (const char* Filename, char CommentStart, int IgnoreUnknown)
     /* Close the include file ignoring errors (we were just reading). */
     (void) fclose (F);
 }
-
-
-
index 8c375b67edd2ac403a0bf5e511f9f36ee20ffcf7..bf48710e93f2cf8ee2e4453b62232ccd862d8831 100644 (file)
@@ -50,7 +50,5 @@ void AsmInc (const char* Filename, char CommentStart, int IgnoreUnknown);
 
 
 /* End of asminc.h */
-#endif
-
-
 
+#endif
index 07a47b72e7210d9da194a813e03a3b6a9843d219..1cfb5ba455b8ccdac391a1c17770b199feebb64d 100644 (file)
@@ -178,6 +178,3 @@ attr_t GetLabelAttr (unsigned Addr)
     /* Return the attribute */
     return (AttrTab[Addr] & atLabelMask);
 }
-
-
-
index b1caf083d164ca7ec861a1ca1c02255a86d55f19..c9fb9c35fde0f98a18234914c7ba6e1a761da175 100644 (file)
@@ -114,7 +114,5 @@ attr_t GetLabelAttr (unsigned Addr);
 
 
 /* End of attrtab.h */
-#endif
-
-
 
+#endif
index c94fa24cdc7c3f4f4297ca80c9f639bc6fe23fd0..0cc158219826c46147d74d2c370e8194f817d742 100644 (file)
@@ -219,6 +219,3 @@ void ResetCode (void)
 {
     PC = CodeStart;
 }
-
-
-
index e4d95a03b74e66162379f923b704538a3f5bb618..0d21e61e1ec4ad4ee15211e38e7c7490342ec1a3 100644 (file)
@@ -84,7 +84,5 @@ void ResetCode (void);
 
 
 /* End of code.h */
-#endif
-
-
 
+#endif
index 4702cf9d7d75c02cc2ac4bfd64766f5644f7026f..64b64ca285ba00e600a459b0ff7da127bf198f30 100644 (file)
@@ -85,6 +85,3 @@ const char* GetComment (unsigned Addr)
     /* Return the label if any */
     return CommentTab[Addr];
 }
-
-
-
index 0e235d31d1afbe09bb672fd728355d9dc7b167bb..1b8bc17715e787e0c1677d7064968f54627cf895 100644 (file)
@@ -57,7 +57,5 @@ const char* GetComment (unsigned Addr);
 
 
 /* End of comments.h */
-#endif
-
-
 
+#endif
index 0e2f7f27545a1b4a4ed3a17290e342980bbd2922..236241357f709c2d48c4f87d5decd46b5cb7ce59 100644 (file)
@@ -373,6 +373,3 @@ unsigned TextTable (void)
     /* Return the number of bytes output */
     return ByteCount;
 }
-
-
-
index 37c0df04a1375fe2728f672a4ea738d66f2f5567..4cec14a03e0cb2f3fb7963a0094eb470c6d328d6 100644 (file)
@@ -68,7 +68,5 @@ unsigned TextTable (void);
 
 
 /* End of data.h */
-#endif
-
-
 
+#endif
index e0d96c9fbc0a5fb5cc5bc4bbbfae7cfc64544c69..d09dadcbba762314514ba89831b4f2aad72a717a 100644 (file)
@@ -86,6 +86,3 @@ void Internal (const char* Format, ...)
     va_end (ap);
     exit (EXIT_FAILURE);
 }
-
-
-
index b8de9728602d890b7401168403c3d721b232a311..d0221bcc45e78f641cc84c5f61f2b8dd022e3379 100644 (file)
@@ -63,6 +63,3 @@ void Internal (const char* Format, ...) attribute((noreturn, format(printf,1,2))
 /* End of error.h */
 
 #endif
-
-
-
index 14f9982d08aab7e55b8d38d0a80971debfb3d847..e2b1fd144135ec1e38273a1fa771cb51b3ee0796 100644 (file)
@@ -77,6 +77,3 @@ unsigned ACol                 = 17;     /* Argument column */
 unsigned CCol                 = 49;     /* Comment column */
 unsigned TCol                 = 81;     /* Text bytes column */
 unsigned BytesPerLine         = 8;      /* Max. number of data bytes per line */
-
-
-
index b48805157d0fe99369b1255c7367387d8d6c88c2..14b1133990cb4e0021b1a71507169b1b6818472f 100644 (file)
@@ -112,6 +112,3 @@ extern unsigned         BytesPerLine;
 /* End of global.h */
 
 #endif
-
-
-
index 1b26fca7e3f231c732ed616e0cab1063a9f12284..f4022ce37e6bd2bd9a707d7de5556290c7d5827c 100644 (file)
@@ -662,6 +662,3 @@ void OH_JmpAbsoluteIndirect (const OpcDesc* D)
     }
     SeparatorLine ();
 }
-
-
-
index fddcfba25ea0283698f71003c2c97aa3e17437bb..77da618c1655772d9a08abfa7880c9e0401557e2 100644 (file)
@@ -103,7 +103,5 @@ void OH_JmpAbsoluteIndirect (const OpcDesc* D);
 
 
 /* End of handler.h */
-#endif
-
-
 
+#endif
index 4b1857dc51f29c1ef874b3b3820227e6e8ad60ee..4ee1ffd79c5de7f2aa51ff9cd1943c39d21ddffd 100644 (file)
@@ -837,9 +837,3 @@ void ReadInfoFile (void)
         InfoCloseInput ();
     }
 }
-
-
-
-
-
-
index 0bfeb79b8be81dacfc3dae50568976c016f79ba0..b8b3f53a8d86ac307e9f9beb7f36931487e53c85 100644 (file)
@@ -50,7 +50,5 @@ void ReadInfoFile (void);
 
 
 /* End of infofile.h */
-#endif
-
-
 
+#endif
index c837b17a6318631bacbea688ea60a66e96468ff9..6a1432104bd0777e4aa12628587d221721717021 100644 (file)
@@ -410,6 +410,3 @@ void DefOutOfRangeLabels (void)
 
     SeparatorLine ();
 }
-
-
-
index 34735a54c3b3f671c937c13241695b341fc7ceb8..88ea8d88be6353eaef3e1922c5eef024a0ca699c 100644 (file)
@@ -100,7 +100,5 @@ void DefOutOfRangeLabels (void);
 
 
 /* End of labels.h */
-#endif
-
-
 
+#endif
index a0af3053917cb6dc1154c96821be7c23bfb3dbe9..921951f3a04b779df17b21924be2d786de0f4fb4 100644 (file)
@@ -633,6 +633,3 @@ int main (int argc, char* argv [])
     /* Done */
     return EXIT_SUCCESS;
 }
-
-
-
index b59db8d57ae7f220c23c030c9d274c26bc5ad4f7..27f734d564e930a49b045ea12c330d17b0af2b33 100644 (file)
@@ -304,6 +304,3 @@ const OpcDesc OpcTable_6502[256] = {
     {   "inc",  3,  flUseLabel|flAbsOverride, OH_AbsoluteX             }, /* $fe */
     {   "",     1,  flIllegal,                OH_Illegal,              }, /* $ff */
 };
-
-
-
index 26171cf6189e62838486641930f95da94bff7c65..c890e241ba211f2369a919c2846f6986f33b7f5e 100644 (file)
@@ -54,7 +54,5 @@ extern const OpcDesc OpcTable_6502[256];
 
 
 /* End of opc6502.h */
-#endif
-
-
 
+#endif
index ee2c4e0ec32bc31e3a0b90d1470877855db18996..01bef44b197744b716f3494d0088e2518d7b8927 100644 (file)
@@ -306,7 +306,3 @@ const OpcDesc OpcTable_6502X[256] = {
     {   "inc",  3,  flUseLabel|flAbsOverride, OH_AbsoluteX             }, /* $fe */
     {   "isc",  3,  flUseLabel|flAbsOverride, OH_AbsoluteX             }, /* $ff */
 };
-
-
-
-
index 520aafefbd9e524ef66b5dd9e81f6845c3102b71..2cd2aaee85591f9eb8718935e2915f4334a11330 100644 (file)
@@ -304,6 +304,3 @@ const OpcDesc OpcTable_65816[256] = {
     {   "inc",  3,  flUseLabel|flAbsOverride, OH_AbsoluteX             }, /* $fe */
     {   "sbc",  4,  flUseLabel,               OH_AbsoluteLongX         }, /* $ff */
 };
-
-
-
index 4b0ac21f46392590d34f12b3da57c00cc93ee072..12ffc4a37ed824cca0d702e4835663da5daa731e 100644 (file)
@@ -54,7 +54,5 @@ extern const OpcDesc OpcTable_65816[256];
 
 
 /* End of opc65816.h */
-#endif
-
-
 
+#endif
index 5d29a36de60eb75e6a75d8b6cd8dc074c910bac3..00520e729d223b99aabb9cb4ba3b958fdf9cc015 100644 (file)
@@ -304,6 +304,3 @@ const OpcDesc OpcTable_65C02[256] = {
     {   "inc",  3,  flUseLabel|flAbsOverride, OH_AbsoluteX             }, /* $fe */
     {   "bbs7", 3,  flUseLabel,               OH_BitBranch             }, /* $ff */
 };
-
-
-
index 2addf5861695ad58f8fdf1d3c3516f788dfc72b0..38138aa51fc70d37cf50a3bc3c7d81809a75b5cf 100644 (file)
@@ -54,7 +54,5 @@ extern const OpcDesc OpcTable_65C02[256];
 
 
 /* End of opc65c02.h */
-#endif
-
-
 
+#endif
index 236a9ee34f27f0861d3ed59b5ca12ae565cae77a..90549d00f5434a9dcc284bb9ecdc9ba1c2f1d8be 100644 (file)
@@ -304,6 +304,3 @@ const OpcDesc OpcTable_65SC02[256] = {
     {   "inc",  3,  flUseLabel|flAbsOverride, OH_AbsoluteX             }, /* $fe */
     {   "",     1,  flIllegal,                OH_Illegal,              }, /* $ff */
 };
-
-
-
index e9cd30a21c643ac0a0a1d75b0fa7087863e9d52f..391f425ea6b13c37072968427c0158b326742a52 100644 (file)
@@ -54,7 +54,5 @@ extern const OpcDesc OpcTable_65SC02[256];
 
 
 /* End of opc65sc02.h */
-#endif
-
-
 
+#endif
index 093e71c9d337a53d1699a18e04ab1bcc26bffa11..7913131cdd34d6f7ecb243261d057d6c37af94e7 100644 (file)
@@ -73,7 +73,5 @@ struct OpcDesc {
 
 
 /* End of opcdesc.h */
-#endif
-
-
 
+#endif
index 26f5390a8e74a5d8425e835840d704b655487712..d0518dcc4cac613adf186a2aad8b46ee8fd053bc 100644 (file)
@@ -54,7 +54,5 @@ extern const OpcDesc OpcTable_HuC6280[256];
 
 
 /* End of opchuc6280.h */
-#endif
-
-
 
+#endif
index 2a20405152c2742bd7b714046958d5a902313106..67a36b48ca6f92ef180c6cb4a6c6ad402d35a213 100644 (file)
@@ -305,6 +305,3 @@ const OpcDesc OpcTable_M740[256] = {
     {   "inc",  3,  flUseLabel|flAbsOverride, OH_AbsoluteX             }, /* $fe */
     {   "clb",  2,  flUseLabel,               OH_ZeroPageBit           }, /* $ff */
 };
-
-
-
index edfa20c8d9df09376ac3695225001756e0337826..07c49578b1ff81f0da49cabaf370c7fa2732d9d2 100644 (file)
@@ -55,7 +55,5 @@ extern const OpcDesc OpcTable_M740[256];
 
 
 /* End of opcm740.h */
-#endif
-
-
 
+#endif
index e44294b1e4295e349fbfd9196e1ef1a25712eacb..c85805faf8c96fb88e4048cc39a32c8c52893bed 100644 (file)
@@ -76,7 +76,3 @@ void SetOpcTable (cpu_t CPU)
         default:          Error ("Unsupported CPU");
     }
 }
-
-
-
-
index 2835fba015373d6aba4aa1cb67858026c1de315a..d5c81b216d56858ec50984711fa3470d97d3a8ff 100644 (file)
@@ -69,7 +69,5 @@ void SetOpcTable (cpu_t CPU);
 
 
 /* End of opctable.h */
-#endif
-
-
 
+#endif
index 3bfebc428f202f1dab3c7ae85fed179c5b4e9dfc..2d967ec80d73cfd2dfb39d42056f1abdb0d8d764 100644 (file)
@@ -383,6 +383,3 @@ void OutputSettings (void)
     LineFeed ();
     LineFeed ();
 }
-
-
-
index 16e2ee3be39d5c0ee9337b8db71ea486034f1cb9..68d22735057a301cc695951c85e18c071fc445cf 100644 (file)
@@ -111,8 +111,5 @@ void OutputSettings (void);
 
 
 /* End of output.h */
-#endif
-
-
-
 
+#endif
index dab5ffe98fd902ae46e9e8c1449b002730c33b9a..8dc8d393a77fb389fa86fa87828b56ef938a4525 100644 (file)
@@ -533,7 +533,3 @@ void InfoCloseInput (void)
         InputFile = 0;
     }
 }
-
-
-
-
index 46b9d29fcb54d133dfc92615132f3926010da242..f7f090fad4ab56426c6307a096f4f39bcaa5b860 100644 (file)
@@ -214,7 +214,5 @@ void InfoCloseInput (void);
 
 
 /* End of scanner.h */
-#endif
-
-
 
+#endif
index 479f8f973f7ed762ac8308138cb7a94a62170c93..4a4f70a45971715d77591357e238be745ca910ff 100644 (file)
@@ -107,6 +107,3 @@ void AddAbsSegment (unsigned Start, unsigned End, const char* Name)
     /* Mark the addresses within the segment */
     MarkRange (Start, End, atSegment);
 }
-
-
-
index b2dc264881a400699f43bb04fa71a3d4dffaf481..14700ba99f8258ee31c7e7103822f796247709f0 100644 (file)
@@ -52,6 +52,3 @@ void AddAbsSegment (unsigned Start, unsigned End, const char* Name);
 /* End of segment.h */
 
 #endif
-
-
-
index f84bdf3f48b71ce0c0bd07af509c8caab828370c..276b135956c9476d2788fc7e4f4ab78812eb8a0e 100644 (file)
@@ -157,6 +157,3 @@ void CheckAssertions (void)
         }
     }
 }
-
-
-
index 94125294d0ece69e8581d4398c494d40262815d4..bce41aa154a87d6d70de3502d3417003d1147347 100644 (file)
@@ -76,6 +76,3 @@ void CheckAssertions (void);
 /* End of asserts.h */
 
 #endif
-
-
-
index e864112414ea301b43e0bf92a469539682bd9e49..568269b39a0d9e4d3c523c5486d43a8bfbe2a8bb 100644 (file)
@@ -316,8 +316,3 @@ void BinWriteTarget (BinDesc* D, struct File* F)
     D->F        = 0;
     D->Filename = 0;
 }
-
-
-
-
-
index 9cb5e7dd9c666853b6778c0c3668cf2b2b11432d..f53aec9c48258493034ea09f5674f393614194c1 100644 (file)
@@ -73,6 +73,3 @@ void BinWriteTarget (BinDesc* D, File* F);
 /* End of bin.h */
 
 #endif
-
-
-
index 39a7ae3e2c0b4fd7a7b73ad498261c280446ab47..a510f94b7d12ef94d8061ae8395c0a795b950f5d 100644 (file)
@@ -88,6 +88,3 @@ int RelocatableBinFmt (unsigned Format)
     /* Return the flag */
     return Reloc;
 }
-
-
-
index 5c4bf5778072ea5a3d241a054d1c6a907a12001c..831e46d12afd2cb9c4069992ab0ff7a74f92f36f 100644 (file)
@@ -63,6 +63,3 @@ int RelocatableBinFmt (unsigned Format);
 /* End of binfmt.h */
 
 #endif
-
-
-
index 65ff3dd67777007e1d81706a0a2f547f425a47f4..d922f49ba3fae8f28e494e0ba53525893869b771 100644 (file)
@@ -244,6 +244,3 @@ long CfgCheckedConstExpr (long Min, long Max)
     /* Return the value */
     return Val;
 }
-
-
-
index 8a6e18c672132b6292b3ac5c0700018fe9c7baab..574f593e36748e5f87dd3513c7b26f911b74bff0 100644 (file)
@@ -63,7 +63,5 @@ long CfgCheckedConstExpr (long Min, long Max);
 
 
 /* End of cfgexpr.h */
-#endif
-
-
 
+#endif
index dc8383767fa54b8e0d1a005c7d28a4dbef19c470..68828abbbd89e1c5050e988296c4df54b5729604 100644 (file)
@@ -389,6 +389,3 @@ void ConDesDump (void)
         printf ("CONDES(%u): %u symbols\n", Type, CollCount (ExpList));
     }
 }
-
-
-
index 3cec6bda9254feb61c2bd4f192f8015c6189f97a..662993dcc7d17e021da0cd2945dfbbb82d7136cb 100644 (file)
@@ -121,6 +121,3 @@ void ConDesDump (void);
 /* End of condes.h */
 
 #endif
-
-
-
index a5d6ff39ba53ecbc6ecde46b5ed228584e529ced..b15dff5c68d56272d9cd20cbe624d6e2e3e43e6a 100644 (file)
@@ -2080,6 +2080,3 @@ void CfgWriteTarget (void)
         }
     }
 }
-
-
-
index 76104d2d8798cc97bdaf015f1678e98e5804347b..8eb86133e1990471c764d4a0af41d931b943f3f5 100644 (file)
@@ -125,8 +125,3 @@ void CfgWriteTarget (void);
 /* End of config.h */
 
 #endif
-
-
-
-
-
index aec560212b30a4d549187291f9a92d97c5652b14..7eabd5198bd3a8ca15a82e4716f0db3f982de90f 100644 (file)
@@ -169,6 +169,3 @@ void CreateDbgFile (void)
         Error ("Error closing debug file `%s': %s", DbgFileName, strerror (errno));
     }
 }
-
-
-
index a5020101e138019f8c70ec0fb065c90f342e7280..b8e1a534f09d2ea24c6b7b1982f2a997b4370994 100644 (file)
@@ -52,6 +52,3 @@ void CreateDbgFile (void);
 /* End of dbgfile.h */
 
 #endif
-
-
-
index 808f04c44362975db691f5d3212ef82779965415..a58ddcfe9206406c60561862bb6271c5a249e0bd 100644 (file)
@@ -540,7 +540,3 @@ void PrintDbgSymLabels (FILE* F)
         }
     }
 }
-
-
-
-
index 3d58579f6738b5d782261575da2ea894b93f1b9f..f631dcb52e709df3d6342f38c44124d276879415 100644 (file)
@@ -96,6 +96,3 @@ void PrintDbgSymLabels (FILE* F);
 /* End of dbgsyms.h */
 
 #endif
-
-
-
index bfd7e067108a04f2a3fd4f7ccdbda5c9b291c0dc..20dfd4537d6a04ae8377b654adad3a9fd773c93f 100644 (file)
@@ -107,6 +107,3 @@ void Internal (const char* Format, ...)
 
     exit (EXIT_FAILURE);
 }
-
-
-
index e144bb4fdee78a1f9c6de188ffcde24ddbf60ab6..b49d8919c5c1f52d445eb58e76f2c5a70233f419 100644 (file)
@@ -63,6 +63,3 @@ void Internal (const char* Format, ...) attribute((noreturn, format(printf,1,2))
 /* End of error.h */
 
 #endif
-
-
-
index c5533d3185a5e61382c38ba8bdae960b5bb9f543..9caa2ba5713425d94fb4264615aee41b89f85bd6 100644 (file)
@@ -1003,7 +1003,3 @@ void CircularRefError (const Export* E)
            GetSourceName (LI),
            GetSourceLine (LI));
 }
-
-
-
-
index 0d53377850f818266fdca7a4662dd4380a5516be..2b7c55bed82bc9f9a2778830ca114cdda4dba6e3 100644 (file)
@@ -212,7 +212,3 @@ void CircularRefError (const Export* E);
 /* End of exports.h */
 
 #endif
-
-
-
-
index c5cfe9abd8f04ba432fefeea3df7ac80add0872e..0fa079f8e903e034d5d20f55c8f233bbf5cdbab1 100644 (file)
@@ -714,6 +714,3 @@ int EqualExpr (ExprNode* E1, ExprNode* E2)
     }
 
 }
-
-
-
index bc3e8b216d54062784c3809914c8bdb5f071b4d2..f2712033032b7d9a237df20ab44f2712da187f47 100644 (file)
@@ -122,6 +122,3 @@ int EqualExpr (ExprNode* E1, ExprNode* E2);
 /* End of expr.h */
 
 #endif
-
-
-
index b19c231004104c312427f14f98e456b9d812efca..642e031a274428f4eb5c47b5751be7922f11eb6e 100644 (file)
@@ -233,7 +233,3 @@ const ExtSym* ExtSymNext (const ExtSym* E)
 {
     return E->List;
 }
-
-
-
-
index c3c82b2e2a0f770af1a7b230284b864b74f2246c..a394ad76ab830d04dfc9f794c30070f615e71482 100644 (file)
@@ -94,7 +94,3 @@ const ExtSym* ExtSymNext (const ExtSym* E);
 /* End of extsyms.h */
 
 #endif
-
-
-
-
index cc0238166c33ad7ddc79c0913338ddef422f06ba..047befa7c385977d86de056272d81847c2fb3255 100644 (file)
@@ -261,6 +261,3 @@ void PrintDbgFileInfo (FILE* F)
         fputc ('\n', F);
     }
 }
-
-
-
index 038e2404c012a71fbeedd8273a42b6af7fc0b87b..978ef4ce27c44e112e299a4d29b0092591ae1404 100644 (file)
@@ -87,7 +87,5 @@ void PrintDbgFileInfo (FILE* F);
 
 
 /* End of fileinfo.h */
-#endif
-
-
 
+#endif
index 9edb911ab49c69a0a25f633707f57feed76d1135..19943ecad3a91580666a5d426f98d73628f4a7de 100644 (file)
@@ -332,7 +332,3 @@ void* ReadData (FILE* F, void* Data, unsigned Size)
     }
     return Data;
 }
-
-
-
-
index f78f4a11bdfaf373dc6c5919da698ad4fe40606e..f0121ef164053beb4bf9bc0dc03215527a865924 100644 (file)
@@ -118,6 +118,3 @@ void* ReadData (FILE* F, void* Data, unsigned Size);
 /* End of fileio.h */
 
 #endif
-
-
-
index 42357bb47d83aa9f335ad375d0d6a3dfad53ed3f..17cd451de7f15fc7e6cd9f69f23a1b8c3f283e30 100644 (file)
 
 
 
-SearchPath     LibSearchPath;         /* Library path */
-SearchPath     ObjSearchPath;         /* Object file path */
-SearchPath     CfgSearchPath;         /* Config file path */
+SearchPaths*     LibSearchPath;         /* Library path */
+SearchPaths*     ObjSearchPath;         /* Object file path */
+SearchPaths*     CfgSearchPath;         /* Config file path */
 
-SearchPath     LibDefaultPath;        /* Default Library path */
-SearchPath     ObjDefaultPath;        /* Default Object file path */
-SearchPath     CfgDefaultPath;        /* Default Config file path */
+SearchPaths*     LibDefaultPath;        /* Default Library path */
+SearchPaths*     ObjDefaultPath;        /* Default Object file path */
+SearchPaths*     CfgDefaultPath;        /* Default Config file path */
 
 
 
@@ -88,13 +88,13 @@ void InitSearchPaths (void)
     AddSubSearchPathFromEnv (CfgDefaultPath, "CC65_HOME", "cfg");
 
     /* Add some compiled-in search paths if defined at compile time. */
-#if defined(LD65_LIB)
+#if defined(LD65_LIB) && !defined(_WIN32)
     AddSearchPath (LibDefaultPath, STRINGIZE (LD65_LIB));
 #endif
-#if defined(LD65_OBJ)
+#if defined(LD65_OBJ) && !defined(_WIN32)
     AddSearchPath (ObjDefaultPath, STRINGIZE (LD65_OBJ));
 #endif
-#if defined(LD65_CFG)
+#if defined(LD65_CFG) && !defined(_WIN32)
     AddSearchPath (CfgDefaultPath, STRINGIZE (LD65_CFG));
 #endif
 
@@ -103,6 +103,3 @@ void InitSearchPaths (void)
     AddSubSearchPathFromWinBin (ObjDefaultPath, "lib");
     AddSubSearchPathFromWinBin (CfgDefaultPath, "cfg");
 }
-
-
-
index 97e77068bb579172ec739bf43b2d0fe9c8a67f65..a2fcd4bb3a9863629055b07ea7f6a9b2dc7a3466 100644 (file)
 
 
 
-extern SearchPath     LibSearchPath;          /* Library path */
-extern SearchPath     ObjSearchPath;          /* Object file path */
-extern SearchPath     CfgSearchPath;          /* Config file path */
+extern SearchPaths*     LibSearchPath;          /* Library path */
+extern SearchPaths*     ObjSearchPath;          /* Object file path */
+extern SearchPaths*     CfgSearchPath;          /* Config file path */
 
-extern SearchPath     LibDefaultPath;         /* Default Library path */
-extern SearchPath     ObjDefaultPath;         /* Default Object file path */
-extern SearchPath     CfgDefaultPath;         /* Default Config file path */
+extern SearchPaths*     LibDefaultPath;         /* Default Library path */
+extern SearchPaths*     ObjDefaultPath;         /* Default Object file path */
+extern SearchPaths*     CfgDefaultPath;         /* Default Config file path */
 
 
 
@@ -71,7 +71,5 @@ void InitSearchPaths (void);
 
 
 /* End of filepath.h */
-#endif
-
-
 
+#endif
index 70ca3d037eabbf56621cf195867f9a2574564461..e157fe28d4a311f1058218be694adc361c869bfc 100644 (file)
@@ -94,6 +94,3 @@ Fragment* NewFragment (unsigned char Type, unsigned Size, Section* S)
     /* Return the new fragment */
     return F;
 }
-
-
-
index 98f90f5689649a08aed017928e0c47a3431dfbd4..7d6dd92016727718228b5d4b77f5f9c219979b27 100644 (file)
@@ -112,7 +112,3 @@ INLINE unsigned GetFragmentSourceLine (const Fragment* F)
 /* End of fragment.h */
 
 #endif
-
-
-
-
index 985a5914fcd19f8c6ccd51bc744fe6870027596e..dc0c8d521a04123fc00623423d00a3382abc63ad 100644 (file)
@@ -56,6 +56,3 @@ unsigned char VerboseMap    = 0;        /* Verbose map file */
 const char* MapFileName     = 0;        /* Name of the map file */
 const char* LabelFileName   = 0;        /* Name of the label file */
 const char* DbgFileName     = 0;        /* Name of the debug file */
-
-
-
index 957d34041e17c0442ad5ef4c2734c54f7f7b4b8f..4b873f027ca8887ab289c3217df45ab1af5c5494 100644 (file)
@@ -62,6 +62,3 @@ extern const char*      DbgFileName;    /* Name of the debug file */
 /* End of global.h */
 
 #endif
-
-
-
index c81ee6f91f8444b7fdc35f11e35c0c17aa010e5d..71dcc2a3539bcd602b944add3ad5e0484db249a8 100644 (file)
@@ -553,7 +553,3 @@ void PrintDbgLibraries (FILE* F)
         fprintf (F, "lib\tid=%u,name=\"%s\"\n", L->Id, GetString (L->Name));
     }
 }
-
-
-
-
index 19648630c6a6957b5ffdce3ddcfa3f93888914ee..7eadf250fca6681c9007dcf32321908aed64ca3b 100644 (file)
@@ -92,6 +92,3 @@ void PrintDbgLibraries (FILE* F);
 /* End of library.h */
 
 #endif
-
-
-
index cc54055c36b82f5c358f8d5ea52932c5713c7e8a..3daa2fd6686463b59481dba9da51e30263f7e693 100644 (file)
@@ -284,6 +284,3 @@ void PrintDbgLineInfo (FILE* F)
         }
     }
 }
-
-
-
index 5af9e57887dc9a37d54c6ac195009deb15feaef8..828a9ebd1ea14fc79a4b90436e7a366b46812d52 100644 (file)
@@ -186,7 +186,5 @@ void PrintDbgLineInfo (FILE* F);
 
 
 /* End of lineinfo.h */
-#endif
-
-
 
+#endif
index 84af34d54b25238ca294a65fe459847d65658be7..b47831c396a3c18816d1843a31629b4015608485 100644 (file)
@@ -722,6 +722,3 @@ int main (int argc, char* argv [])
     /* Return an apropriate exit code */
     return EXIT_SUCCESS;
 }
-
-
-
index fa8d98efcc266b5c7bcffc104fe827f25b2e492b..6b13e46ec4c306cd7d36f05af3ea8d77e506e215 100644 (file)
@@ -152,6 +152,3 @@ void CreateLabelFile (void)
         Error ("Error closing label file `%s': %s", LabelFileName, strerror (errno));
     }
 }
-
-
-
index c2685e7aad32d3d3c1522df18d36c0072e4912fa..3473b4d64a071c58a1f350f19e824eeb9275540f 100644 (file)
@@ -71,6 +71,3 @@ void CreateLabelFile (void);
 /* End of mapfile.h */
 
 #endif
-
-
-
index 5b562b34a44515d21441c7df17ed7b742dac3059..d143b97909620ff7dca5ace9494f31bce0a211e0 100644 (file)
@@ -73,7 +73,3 @@ MemoryArea* NewMemoryArea (const FilePos* Pos, unsigned Name)
     /* ...and return it */
     return M;
 }
-
-
-
-
index 4e051871c567dfbb43f85935234566b5d0c48420..b6972a985fcf555edf6ab92f2571217e1aae9715 100644 (file)
@@ -99,8 +99,3 @@ MemoryArea* NewMemoryArea (const FilePos* Pos, unsigned Name);
 /* End of memarea.h */
 
 #endif
-
-
-
-
-
index 7373c23c76ac957cc07ebec6f2d8c4b569a6ac6c..ad793b48b23e3caa1951b40c5f2c311b9ae17d31 100644 (file)
@@ -1424,7 +1424,3 @@ void O65WriteTarget (O65Desc* D, File* F)
     D->F        = 0;
     D->Filename = 0;
 }
-
-
-
-
index 7de0832a815a60cac9a4090de4792c8e31c64439..2112537ffca8788172984872482abe049f7b9420 100644 (file)
@@ -124,6 +124,3 @@ void O65WriteTarget (O65Desc* D, File* F);
 /* End of o65.h */
 
 #endif
-
-
-
index 1bdef6bd7807d9acd49fbe85e371ce1ea4a9e6cd..222615c4c1d239882f280e40e5ba4cc51b61da39 100644 (file)
@@ -309,7 +309,3 @@ void PrintDbgModules (FILE* F)
     }
 
 }
-
-
-
-
index 4c477eee0d12a4bdc309dba94eff3be579a94eea..b17248b4c903bb3bb6b3821367c6d716cfbc9cad 100644 (file)
@@ -175,8 +175,3 @@ void PrintDbgModules (FILE* F);
 /* End of objdata.h */
 
 #endif
-
-
-
-
-
index 7b8dc4419bf64febd678efea85b5b34e8a2cf6b2..ac5e76a7ccd00a884c571d0904451f6152c9f0f9 100644 (file)
@@ -372,7 +372,3 @@ void ObjAdd (FILE* Obj, const char* Name)
      */
     FreeObjStrings (O);
 }
-
-
-
-
index e982f90b5c3af3524245cd030e0dd78a20c31229..4683638c79a47ee46e0d405bb3d1f20c9029b1b6 100644 (file)
@@ -92,6 +92,3 @@ void ObjAdd (FILE* F, const char* Name);
 /* End of objfile.h */
 
 #endif
-
-
-
index b6d45354a7c8b9138d4d05207dd50224c800d4e9..0f6ea58de4240b2090abfc916f2dcb70aaf38ba4 100644 (file)
@@ -580,6 +580,3 @@ void CfgCloseInput (void)
         InputFile = 0;
     }
 }
-
-
-
index 9e27b6720f93eac7a0bbaa06e24ec0bacd677178..0f9a97c69c5eafcf013f89bd209b35a18bf4f7a1 100644 (file)
@@ -239,7 +239,5 @@ void CfgCloseInput (void);
 
 
 /* End of scanner.h */
-#endif
-
-
 
+#endif
index b3acc0d7d716a37487e5137bf1a8ab4b79daf773..edf0d0da215694f0a1e778b1247838bc8b09de6f 100644 (file)
@@ -171,6 +171,3 @@ void PrintDbgScopes (FILE* F)
         }
     }
 }
-
-
-
index 142dc16bba375ebbf26b57efa3cd9c11d7eb2d3e..67d70148b0a5b8499d3bc4be73ae75e943837667 100644 (file)
@@ -92,6 +92,3 @@ void PrintDbgScopes (FILE* F);
 /* End of scopes.h */
 
 #endif
-
-
-
index e42a40d225361d8ff8963959241a924b949bad71..829435e4cc53ad767b139f054afdee67a627d255 100644 (file)
@@ -662,6 +662,3 @@ void CheckSegments (void)
         }
     }
 }
-
-
-
index 67006bcc10e71928327d9d19e624009c5af0e9bb..5362c8744fa528f7de7132f7280c09b63c687d26 100644 (file)
@@ -168,7 +168,3 @@ void CheckSegments (void);
 /* End of segments.h */
 
 #endif
-
-
-
-
index 1b3f35e06ddbd35e007de5a178aef4659a870371..9ff1a8ec83a6d23cf00c4c0bbda941ebc0a5f34f 100644 (file)
@@ -245,6 +245,3 @@ void PrintDbgSpans (FILE* F)
     /* Free the string buffer */
     SB_Done (&SpanType);
 }
-
-
-
index 6e549189b933ddc8690e8ccf945cb176ac63d054..ccdc6799debf87a0fcb5bd171abc440fcb4f40f0 100644 (file)
@@ -103,7 +103,5 @@ void PrintDbgSpans (FILE* F);
 
 
 /* End of span.h */
-#endif
-
-
 
+#endif
index b3173eb17b780062c1d7125943cc7a794f88ef15..fdd2f1c67a4550bd9d9bee476cd7e6a2e09e9cd8 100644 (file)
@@ -65,7 +65,3 @@ void InitStrPool (void)
      */
     SP_AddStr (StrPool, "<invalid message #0>");
 }
-
-
-
-
index bd5a7a627dc0cd4e744dd2350bd64a38f78a68f1..e376c5fe1cd04494bce527c9d5f55b24ac77bc00 100644 (file)
@@ -111,7 +111,3 @@ void InitStrPool (void);
 /* End of spool.h */
 
 #endif
-
-
-
-
index f943fa704415815356938d26e19eaed979ddcd34..e6006e4e186a043189b2e4b8a723ed2e86bb1e39 100644 (file)
@@ -88,6 +88,3 @@ void InitTypePool (void)
     /* Allocate a type pool */
     TypePool = NewStringPool (137);
 }
-
-
-
index d2a8510d95f6bd19423c84658cf04caeedcb4dc4..c05408711fbe9d6298c693c44bbf083330cbfc5a 100644 (file)
@@ -106,7 +106,3 @@ void InitTypePool (void);
 /* End of tpool.h */
 
 #endif
-
-
-
-
index ffca41907b3f63ac2e4e0e11ce661549d7f1ba9e..c02f9a84fbf472747e871de903e2dc14ceb57c0c 100644 (file)
@@ -951,7 +951,3 @@ void DumpObjSegSize (FILE* F, unsigned long Offset)
     /* Destroy the string pool */
     DestroyStrPool (&StrPool);
 }
-
-
-
-
index eafb86a3c768328c838642eed3ba7d18c5f0c3b6..5371b7bdb1b1f7cfee46de7a6551a14526e62851 100644 (file)
@@ -83,7 +83,3 @@ void DumpObjSegSize (FILE* F, unsigned long Offset);
 /* End of dump.h */
 
 #endif
-
-
-
-
index 2b5827571f6e7e20e805f8c1ea5c8e021d3756e7..364f52266375ade737470216c31dc7f8fbf71db4 100644 (file)
@@ -85,6 +85,3 @@ void Internal (const char* Format, ...)
     va_end (ap);
     exit (EXIT_FAILURE);
 }
-
-
-
index 16eabdb0e0527dfb45a98273c2d63dfc5bc01a46..8e1469a34a8a2df3944d419acfedef47e34f4809 100644 (file)
@@ -63,6 +63,3 @@ void Internal (const char* Format, ...) attribute((noreturn, format(printf,1,2))
 /* End of error.h */
 
 #endif
-
-
-
index 9ddab17af5a498b9700ac0231a38a56c8ea8b445..cc27b88acc4e2bc6b45361d64ca4afc426bbfb06 100644 (file)
@@ -246,6 +246,3 @@ void ReadStrPool (FILE* F, Collection* C)
         CollAppend (C, ReadStr (F));
     }
 }
-
-
-
index cf05a7dad6eabc2490820e2b90a1ae034c4671e0..068c4d9a37c3369911aea95825205d6548136cf8 100644 (file)
@@ -97,6 +97,3 @@ void ReadStrPool (FILE* F, Collection* C);
 /* End of fileio.h */
 
 #endif
-
-
-
index eb6555154bbbde0f422b631bde7c20c7ca282d96..bb56ceecfd0acf76c6c8ff6da788b8d1f70a35e3 100644 (file)
@@ -44,6 +44,3 @@
 
 
 unsigned What   = 0;            /* What should get dumped? */
-
-
-
index 624fe2a8495226c398aedeee8c80e8b1bbe77edc..22054d3f66cfebe7f99673aa0ce83df2e054ff23 100644 (file)
@@ -65,6 +65,3 @@ extern unsigned         What;           /* What should get dumped? */
 /* End of global.h */
 
 #endif
-
-
-
index aa0e6f86d9d0edd7f1f24c8afa08d53c1b19e802..802290ffda5dfb0ea430b1085c4e59d09602d2bf 100644 (file)
@@ -361,6 +361,3 @@ int main (int argc, char* argv [])
     /* Success */
     return EXIT_SUCCESS;
 }
-
-
-
index 378403e559420f781774f242bcdad32e6222c997..3114951af56e8efac914d5c1d172f5d41f7bdeaa 100644 (file)
@@ -85,6 +85,3 @@ void Internal (const char* Format, ...)
     va_end (ap);
     exit (EXIT_FAILURE);
 }
-
-
-
index 507294b903fa9e78af9494ebc24a40329b768c30..7bee4954caf290001a13246695b1cb9609de0740 100644 (file)
@@ -63,6 +63,3 @@ void Internal (const char* Format, ...) attribute((noreturn, format(printf,1,2))
 /* End of error.h */
 
 #endif
-
-
-
index 5e234c561bc1a54f88f22b16d206ebfee6cecaf1..06da818de6eba6d8fb9f6a317c5bc33d1334e2dc 100644 (file)
@@ -67,7 +67,3 @@ void MemInit (void);
 /* End of memory.h */
 
 #endif
-
-
-
-
index 29b8ea9307eb30d20f0ffe1752efe3b462200eb6..0deb59a5fdfb98eb64932f85fa2e95e42a9f3158 100644 (file)
 #include <string.h>
 #include <stdlib.h>
 #include <fcntl.h>
+#if defined(_WIN32)
+#  define O_INITIAL O_BINARY
+#else
+#  define O_INITIAL 0
+#endif
 #if defined(_MSC_VER)
 /* Microsoft compiler */
 #  include <io.h>
-#  pragma warning(disable : 4996)
-#  define O_INITIAL O_BINARY
 #else
 /* Anyone else */
 #  include <unistd.h>
-#  define O_INITIAL 0
 #endif
 
 /* common */
index c397d33d6324dc53a7a33279bfb68548e091130d..8f520cb9ecdca7f301a09062c6922791660e621a 100644 (file)
@@ -238,6 +238,3 @@ void WriteAsmFile (const StrBuf* Data, const Collection* A, const Bitmap* B)
         Error ("Error closing output file `%s': %s", Name, strerror (errno));
     }
 }
-
-
-
index 06d16802e864b01ab401aadf2c46e4d1bbae63f2..18c55e8b511d2a2510be9ca0385ce208d2d904f6 100644 (file)
@@ -61,6 +61,3 @@ void WriteAsmFile (const StrBuf* Data, const Collection* A, const Bitmap* B);
 /* End of asm.h */
 
 #endif
-
-
-
index 8f0ddeaeda17f5cb2e77056bdcfa309f6dbb6e91..5de17ee26a2733c60760a12f4ef012e07e78c4a6 100644 (file)
@@ -304,6 +304,3 @@ void FreeAttrList (Collection* C)
     /* Free the collection itself */
     FreeCollection (C);
 }
-
-
-
index 9a4f834fb161bd6e7c2518d560faf32ab034a19a..2658aa077ed85cd79daadd1064ac6cb7926f4962 100644 (file)
@@ -126,6 +126,3 @@ void FreeAttrList (Collection* C);
 /* End of attr.h */
 
 #endif
-
-
-
index fddb8320f562e01aada7e443d905a26a95c97221..48768b466f7530a8b4ace85fc233f6e0842172f1 100644 (file)
@@ -83,6 +83,3 @@ void WriteBinFile (const StrBuf* Data, const Collection* A,
         Error ("Error closing output file `%s': %s", Name, strerror (errno));
     }
 }
-
-
-
index 476ae9a169ed2be3ee7adbfb5a159f15cec8f5a4..4a32a0a98a3cec5db82e6437c7fc1cf9adaad2dd 100644 (file)
@@ -61,6 +61,3 @@ void WriteBinFile (const StrBuf* Data, const Collection* A, const Bitmap* B);
 /* End of bin.h */
 
 #endif
-
-
-
index b6270d246493afa525e6b4fa26a4340ff8d615e2..b67e329df2ef45de488762973a9c7014351d45ff 100644 (file)
@@ -175,6 +175,3 @@ Pixel GetPixel (const Bitmap* B, unsigned X, unsigned Y)
     /* Return the pixel */
     return B->Data[Y * B->Width + X];
 }
-
-
-
index f5423f67f9d63ff49896f4c76db56b7778a943c1..e63a7570c9aad90b1c425838945ddc21fb146034 100644 (file)
@@ -184,6 +184,3 @@ INLINE unsigned GetBitmapColors (const Bitmap* B)
 /* End of bitmap.h */
 
 #endif
-
-
-
index 537333b67aeeff5a3139beb14db599f1ef5c58f9..0f86bec53fdea8016fb614b7f2aed52b8188d60a 100644 (file)
@@ -223,6 +223,3 @@ void WriteCFile (const StrBuf* Data, const Collection* A, const Bitmap* B)
         Error ("Error closing output file `%s': %s", Name, strerror (errno));
     }
 }
-
-
-
index 8cf763144625be7f96477a2d4cdf1a99182862dc..113d0dee1a9b3735061d8de3d88fb59cb08e8982 100644 (file)
@@ -61,6 +61,3 @@ void WriteCFile (const StrBuf* Data, const Collection* A, const Bitmap* B);
 /* End of c.h */
 
 #endif
-
-
-
index e1abd79be6edb82098dca24c42c4f40241c2fbf6..0180865c628b7e0f1ec82313a3201e2f241a9733 100644 (file)
@@ -64,6 +64,3 @@ Color RGBA (unsigned char R, unsigned char G, unsigned char B, unsigned char A)
 }
 
 #endif
-
-
-
index 3646837f54ee16f9649ae9176b5d73b29ff8af61..31688bff461c6f7dd986a641aa9ff2f6115ddb48 100644 (file)
@@ -94,6 +94,3 @@ Color RGBA (unsigned char R, unsigned char G, unsigned char B, unsigned char A);
 /* End of color.h */
 
 #endif
-
-
-
index f5022246c5fe2219bac41d86e96bbec389e034f2..25e453eb7f6d6c8a6a52dfc71821c2f720fbf970 100644 (file)
@@ -123,4 +123,3 @@ void ListConversionTargets (FILE* F)
         fprintf (F, "  %s\n", ConverterMap[I].Format);
     }
 }
-
index b0bc51ba8f1b0c29e989fd8b7ce88af25d9ac8bb..4e6f7b9f600eeb3cf4e5548a54c75d80aad4d0d8 100644 (file)
@@ -70,6 +70,3 @@ void ListConversionTargets (FILE* F);
 /* End of convert.h */
 
 #endif
-
-
-
index 70bc5bdb33b177d22ef7402be463c8b5026d3620..7a29cb5511b76c7ca7b128126e52198e83a0339b 100644 (file)
@@ -85,6 +85,3 @@ void Internal (const char* Format, ...)
     va_end (ap);
     exit (EXIT_FAILURE);
 }
-
-
-
index 7643cefa9bcbc0b41066c9bfa516448f0115a74e..41ee83b1b0f6eeabce74d2277e173519d8a9bd96 100644 (file)
@@ -63,6 +63,3 @@ void Internal (const char* Format, ...) attribute((noreturn, format(printf,1,2))
 /* End of error.h */
 
 #endif
-
-
-
index a43b7eb263073d8a12793371afec970ff1aa7ae5..074a7b534ef00f95f783f6a85d99bd26722ea46b 100644 (file)
@@ -123,6 +123,3 @@ void* ReadData (FILE* F, void* Data, unsigned Size)
     }
     return Data;
 }
-
-
-
index de2cdd2cedd01c34cafd7bfdb22befb3d561d731..c17647d331422f30aa2c37f0ba96be3a4b77d86f 100644 (file)
@@ -72,6 +72,3 @@ void* ReadData (FILE* F, void* Data, unsigned Size);
 /* End of fileio.h */
 
 #endif
-
-
-
index f5770f720cf8738d07a54bb8784e20a6800eeae3..05984cbdf5513c47b563df0242eb04ed6e887853 100644 (file)
@@ -229,6 +229,3 @@ StrBuf* GenGeosBitmap (const Bitmap* B, const Collection* A attribute ((unused))
     /* Return the converted bitmap */
     return D;
 }
-
-
-
index 52a8945eeca3128592aa9f2c2aad802aef53058d..a735c89fe4cf0536cd80eead832fdfe7c6797188 100644 (file)
@@ -108,6 +108,3 @@ StrBuf* GenGeosIcon (const Bitmap* B, const Collection* A attribute ((unused)))
     /* Return the converted bitmap */
     return D;
 }
-
-
-
index 3a54b70ccbb21eb28f84c9753c3da0cc2da309ea..8b1351db797eef95f7e764b9d3e8983afa4be789 100644 (file)
@@ -64,6 +64,3 @@ StrBuf* GenGeosIcon (const Bitmap* B, const Collection* A);
 /* End of geosicon.h */
 
 #endif
-
-
-
index 85807752fea353a12d60806476d2cdda6c27a21d..37514886d03081e9a795afd592db452816f9c475 100644 (file)
@@ -119,6 +119,3 @@ Bitmap* ReadInputFile (const Collection* A)
     /* Call the format specific read */
     return InputFormatTable[F->Id].Read (A);
 }
-
-
-
index cfbc6f63c40073504532e4cc631cdcf1a62dbd18..f4f4c6ea365050e68dd48c28c8ca8800a05812e9 100644 (file)
@@ -63,6 +63,3 @@ Bitmap* ReadInputFile (const Collection* A);
 /* End of input.h */
 
 #endif
-
-
-
index d66969348c9f43be1c23af1578ae90ecd274ffda..3f0875e813a7bf5779fc633e3ccd8249ad020146 100644 (file)
@@ -101,6 +101,3 @@ StrBuf* GenKoala (const Bitmap* B, const Collection* A attribute ((unused)))
     /* Return the converted bitmap */
     return D;
 }
-
-
-
index 57ea86ad5a61c223a8dc50dcc2a1fb8e752df455..b2bd353756e6b53a05e4334882e7bc31b8e711d7 100644 (file)
@@ -64,6 +64,3 @@ StrBuf* GenKoala (const Bitmap* B, const Collection* A);
 /* End of koala.h */
 
 #endif
-
-
-
index 99d7a1bc1ecaf9a85153e892f4060ece4aa931b7..2cce35ff38edb5b028e23f8f85a2bf28ed3384dd 100644 (file)
@@ -552,6 +552,3 @@ StrBuf* GenLynxSprite (const Bitmap* B, const Collection* A)
     /* Return the converted bitmap */
     return D;
 }
-
-
-
index c5611e03682b99e0bf9ae903ca9598589a908bfb..1d6f998f5c05f63f97efb9a1082a1b207f5a8253 100644 (file)
@@ -64,6 +64,3 @@ StrBuf* GenLynxSprite (const Bitmap* B, const Collection* A);
 /* End of lynxsprite.h */
 
 #endif
-
-
-
index 92cd71114f6d194a77294633776db10661c864c1..98049e891354d878d325a71747f243a5d67cec01 100644 (file)
@@ -405,6 +405,3 @@ int main (int argc, char* argv [])
     /* Success */
     return EXIT_SUCCESS;
 }
-
-
-
index ac6f3db928aaaf7b623948e108b77b2a49b02907..e4c2dd4c7e93c004e97e5e20adec89f8764b53ff 100644 (file)
@@ -140,6 +140,3 @@ void WriteOutputFile (const StrBuf* Data, const Collection* A, const Bitmap* B)
     /* Call the format specific write */
     OutputFormatTable[F->Id].Write (Data, A, B);
 }
-
-
-
index 6d3b4c16b7a6907b40a583c89a421766346d2f31..9956c31aae80112b509eb24cd92996a7fb86d530 100644 (file)
@@ -65,6 +65,3 @@ void WriteOutputFile (const StrBuf* Data, const Collection* A, const Bitmap* B);
 /* End of output.h */
 
 #endif
-
-
-
index b407b365c906226abe2db3513e3a3cc155b260e5..333843af0a92bd179e73761ba3ac609dd393deb7 100644 (file)
@@ -138,6 +138,3 @@ void DumpPalette (FILE* F, const Palette* P)
                  (((unsigned long) C->R) <<  0));
     }
 }
-
-
-
index d7180e0f03379bb7c0a4f5e5cd36db8ec27f9d6d..61eb6519da412f3fbdd97dad35e19d964b5f6990 100644 (file)
@@ -85,6 +85,3 @@ void DumpPalette (FILE* F, const Palette* P);
 /* End of palette.h */
 
 #endif
-
-
-
index 51767c931127255fc77aec7080a07abf712ab996..a1d16b7ea9af05787d55ed18c3744e02a4f646a1 100644 (file)
@@ -440,6 +440,3 @@ Bitmap* ReadPCXFile (const Collection* A)
     /* Return the bitmap */
     return B;
 }
-
-
-
index c288a25140394dc1adef3caa52d84e274f91e1c8..038a947ba9432e97bf7b12a446d1915576560b7a 100644 (file)
@@ -60,6 +60,3 @@ Bitmap* ReadPCXFile (const Collection* A);
 /* End of pcx.h */
 
 #endif
-
-
-
index f313ff302c0dda483a529e74c4d810ddfcfb55f2..3684b553001f49418de205088e815ad1592050d5 100644 (file)
@@ -67,6 +67,3 @@ union Pixel {
 /* End of pixel.h */
 
 #endif
-
-
-
index 8712006523f8ac779edf6f5c53fa5c3f6e404a89..ff233596bb8c45db1f8520f62cc00c821eacda8b 100644 (file)
@@ -84,6 +84,3 @@ StrBuf* GenRaw (const Bitmap* B, const Collection* A attribute ((unused)))
     /* Return the converted bitmap */
     return D;
 }
-
-
-
index d4c44f7eadbfad1307afa1af1bca324da7bb0514..ffc3a66492401e577d39be209869e24c762496ce 100644 (file)
@@ -61,7 +61,5 @@ StrBuf* GenRaw (const Bitmap* B, const Collection* A);
 
 
 /* End of raw.h */
-#endif
-
-
 
+#endif
index d32a9cc66c10944ec56450235388b027a8a5850d..a9139d0a180ea67842ee7453852a00aabc907648 100644 (file)
@@ -177,6 +177,3 @@ StrBuf* GenVic2Sprite (const Bitmap* B, const Collection* A)
     /* Return the converted bitmap */
     return D;
 }
-
-
-
index 8b1407e64e3942af3318ca3ad40161837860f698..f7c9a9d0532b06421c480cf21ec333a2e50dab5c 100644 (file)
@@ -64,6 +64,3 @@ StrBuf* GenVic2Sprite (const Bitmap* B, const Collection* A);
 /* End of vic2sprite.h */
 
 #endif
-
-
-