cc65
16 months agoFixed _textcolor definition. master
Oliver Schmidt [Wed, 8 May 2019 08:22:12 +0000 (10:22 +0200)]
Fixed _textcolor definition.

The _textcolor() macro doesn't just turn on the macro optimization. It defines the return value of textcolor() - and that is supposed to be a COLOR_... value.

16 months agold65.sgml: document '--allow-multiple-definition' switch
Christian Groessler [Tue, 30 Apr 2019 21:33:22 +0000 (23:33 +0200)]
ld65.sgml: document '--allow-multiple-definition' switch

16 months agosrc/ld65/main.c: fix copy'n'paste error in comment
Christian Groessler [Tue, 30 Apr 2019 16:30:20 +0000 (18:30 +0200)]
src/ld65/main.c: fix copy'n'paste error in comment

16 months agold65: implement '--allow-multiple-definition' command line parameter
Christian Groessler [Tue, 30 Apr 2019 14:20:22 +0000 (16:20 +0200)]
ld65: implement '--allow-multiple-definition' command line parameter

16 months agosrc/ld65/exports.c: Issue an error instead of a warning for duplicate global symbols.
Christian Groessler [Fri, 26 Apr 2019 22:04:38 +0000 (00:04 +0200)]
src/ld65/exports.c: Issue an error instead of a warning for duplicate global symbols.

16 months agogoto.c warning fix for implicit truncation
Brad Smith [Wed, 1 May 2019 06:45:51 +0000 (02:45 -0400)]
goto.c warning fix for implicit truncation

16 months agoagain, some TABs slipped into the code...
Christian Groessler [Tue, 30 Apr 2019 16:21:13 +0000 (18:21 +0200)]
again, some TABs slipped into the code...

16 months agoAdjusted doc to code.
Oliver Schmidt [Tue, 30 Apr 2019 15:55:26 +0000 (17:55 +0200)]
Adjusted doc to code.

The requirement in question was lifted with https://github.com/cc65/cc65/commit/6ead4abf244abfab4bd52eff55da5cefe4d4a98f back in 2011.

17 months agoFix for #830 supplied by UvB
IrgendwerA8 [Mon, 22 Apr 2019 15:40:09 +0000 (17:40 +0200)]
Fix for #830 supplied by UvB

17 months agocfg/atari-xex.cfg: fix typo in comment
Christian Groessler [Wed, 24 Apr 2019 11:17:11 +0000 (13:17 +0200)]
cfg/atari-xex.cfg: fix typo in comment

17 months agoMade the code that logs indirect-goto referals be a little more efficient.
Greg King [Mon, 22 Apr 2019 18:27:36 +0000 (14:27 -0400)]
Made the code that logs indirect-goto referals be a little more efficient.

17 months agoDocument computed gotos
Lauri Kasanen [Mon, 15 Apr 2019 16:27:23 +0000 (19:27 +0300)]
Document computed gotos

17 months agoReplace hard returns with an "else", add an error for non-IDENT tokens, and test...
Lauri Kasanen [Mon, 15 Apr 2019 13:23:01 +0000 (16:23 +0300)]
Replace hard returns with an "else", add an error for non-IDENT tokens, and test for static

17 months agoReturn after errors, move left bracket consumption down
Lauri Kasanen [Sun, 14 Apr 2019 16:47:42 +0000 (19:47 +0300)]
Return after errors, move left bracket consumption down

17 months agoC90 param, void
Lauri Kasanen [Sun, 14 Apr 2019 16:45:53 +0000 (19:45 +0300)]
C90 param, void

17 months agoFix missing spaces
Lauri Kasanen [Sat, 13 Apr 2019 16:43:44 +0000 (19:43 +0300)]
Fix missing spaces

17 months agoAdjustment for '816
Lauri Kasanen [Wed, 10 Apr 2019 14:29:57 +0000 (17:29 +0300)]
Adjustment for '816

17 months agoAdd support for computed gotos
Lauri Kasanen [Tue, 9 Apr 2019 12:49:52 +0000 (15:49 +0300)]
Add support for computed gotos

This is a GCC extension that allows C to use fast jump tables.

17 months agoAdd a goto indirect jump from pointer
Lauri Kasanen [Wed, 10 Apr 2019 11:46:07 +0000 (14:46 +0300)]
Add a goto indirect jump from pointer

17 months agoExport the label symbol table
Lauri Kasanen [Wed, 10 Apr 2019 11:20:24 +0000 (14:20 +0300)]
Export the label symbol table

17 months agoOnly for jumps, the lib uses named asm labels in branches
Lauri Kasanen [Wed, 10 Apr 2019 11:01:36 +0000 (14:01 +0300)]
Only for jumps, the lib uses named asm labels in branches

17 months agoFix jmp-callax.c bug
Lauri Kasanen [Wed, 10 Apr 2019 10:43:35 +0000 (13:43 +0300)]
Fix jmp-callax.c bug

17 months agoAdd test showing optimizer failure, OptUnusedLoads removes needed loads
Lauri Kasanen [Wed, 10 Apr 2019 10:04:41 +0000 (13:04 +0300)]
Add test showing optimizer failure, OptUnusedLoads removes needed loads

17 months agoAdded '_' prefix to sin and cos.
Oliver Schmidt [Sat, 13 Apr 2019 09:25:54 +0000 (11:25 +0200)]
Added '_' prefix to sin and cos.

Users complained that otherwise the names might clash with their functions.

17 months agoatari5200.sgml: small fix for last change
Christian Groessler [Fri, 12 Apr 2019 22:11:57 +0000 (00:11 +0200)]
atari5200.sgml: small fix for last change

17 months agoatari5200: update docs for recent conio changes
Christian Groessler [Fri, 12 Apr 2019 12:01:26 +0000 (14:01 +0200)]
atari5200: update docs for recent conio changes

also renames libsrc/atari5200/extra/conioscreen_20x12.s to
libsrc/atari5200/extra/conioscreen-20x12.s to be in line with
other optional link modules

17 months agoatari5200: name conio constructor 'initconio'
Christian Groessler [Fri, 12 Apr 2019 10:39:37 +0000 (12:39 +0200)]
atari5200: name conio constructor 'initconio'

17 months agoatari5200: testcode/lib/atari5200/hello.c: adapt to changed COLOR_xxx defines
Christian Groessler [Wed, 10 Apr 2019 20:22:16 +0000 (22:22 +0200)]
atari5200: testcode/lib/atari5200/hello.c: adapt to changed COLOR_xxx defines

17 months agoRevert "atari5200: fix COLOR defines' names"
Christian Groessler [Wed, 10 Apr 2019 20:20:01 +0000 (22:20 +0200)]
Revert "atari5200: fix COLOR defines' names"

This reverts commit 87e653f47bd4bda4b2f27849148a163684073e0a.

17 months agoatari5200: changes from discussions in #870
Christian Groessler [Wed, 10 Apr 2019 20:15:27 +0000 (22:15 +0200)]
atari5200: changes from discussions in #870

- rename screen_setup to initconio
- use Greg King's version of bgcolor()

17 months agoatari5200: get rid of conio_colors table
Christian Groessler [Tue, 9 Apr 2019 12:34:28 +0000 (14:34 +0200)]
atari5200: get rid of conio_colors table

use system color variables instead; improve testcode/lib/atari5200/hello.c
test program

17 months agoatari5200: fix COLOR defines' names
Christian Groessler [Mon, 8 Apr 2019 20:03:15 +0000 (22:03 +0200)]
atari5200: fix COLOR defines' names

COLOR_RED -> COLOR_LIGHTRED and COLOR_GREEN -> COLOR_LIGHTGREEN

17 months agoatari5200: conio now uses just four colors altogether
Christian Groessler [Thu, 4 Apr 2019 23:26:34 +0000 (01:26 +0200)]
atari5200: conio now uses just four colors altogether

See discussion in PR #870.

17 months agoatari5200: add screensize function
Christian Groessler [Tue, 2 Apr 2019 20:06:53 +0000 (22:06 +0200)]
atari5200: add screensize function

17 months agoatari5200: add alternative conio screen (20x12 resolution)
Christian Groessler [Tue, 2 Apr 2019 19:31:12 +0000 (21:31 +0200)]
atari5200: add alternative conio screen (20x12 resolution)

17 months agoatari5200: implement bgcolor() and textcolor()
Christian Groessler [Tue, 2 Apr 2019 19:11:11 +0000 (21:11 +0200)]
atari5200: implement bgcolor() and textcolor()

Includes some other small fixes/cleanups.

17 months agoatari: split color.s into bordercolor.s and bgcolor.s
Christian Groessler [Tue, 2 Apr 2019 17:10:52 +0000 (19:10 +0200)]
atari: split color.s into bordercolor.s and bgcolor.s

17 months agoMinor clarification.
Oliver Schmidt [Thu, 4 Apr 2019 15:13:09 +0000 (17:13 +0200)]
Minor clarification.

17 months agoFixed typo.
Oliver Schmidt [Thu, 4 Apr 2019 14:38:40 +0000 (16:38 +0200)]
Fixed typo.

17 months agoAvoid unintended file "shadowing".
Oliver Schmidt [Thu, 4 Apr 2019 07:16:59 +0000 (09:16 +0200)]
Avoid unintended file "shadowing".

https://github.com/cc65/cc65/commit/3d8c3a494801e106e33fa7dcc4fd3daedad1b98a caused an unintended "shadowing" of files in /libsrc/runtime by files in /libsrc/common. Therefore the files in question are renamed (again) in /libsrc/common to make the files in /libsrc/runtime "visible" again.

17 months agoAdjusted to the current multiline-comment style.
IrgendwerA8 [Mon, 1 Apr 2019 21:08:51 +0000 (23:08 +0200)]
Adjusted to the current multiline-comment style.

17 months agoFix for multiplication optimization issue #367
IrgendwerA8 [Mon, 1 Apr 2019 19:47:00 +0000 (21:47 +0200)]
Fix for multiplication optimization issue #367

17 months agoCode cleanup per code review
Steven Hugg [Mon, 1 Apr 2019 01:39:36 +0000 (21:39 -0400)]
Code cleanup per code review

17 months agocleaned up code per review
Steven Hugg [Sat, 16 Mar 2019 21:35:22 +0000 (17:35 -0400)]
cleaned up code per review

17 months agofixed optimization bug where array index is 16-bit, e.g. arr16[i & 0x7f7f]
Steven Hugg [Fri, 15 Mar 2019 19:10:58 +0000 (15:10 -0400)]
fixed optimization bug where array index is 16-bit, e.g. arr16[i & 0x7f7f]

17 months agorearranged order of new optimizations to better handle -Oi flag
Steven Hugg [Thu, 14 Mar 2019 15:00:02 +0000 (11:00 -0400)]
rearranged order of new optimizations to better handle -Oi flag

17 months agoadded optimization for indexed 16-bit array load of form (array[i & 0x7f])
Steven Hugg [Thu, 14 Mar 2019 13:41:50 +0000 (09:41 -0400)]
added optimization for indexed 16-bit array load of form (array[i & 0x7f])

17 months agoadded optimization for indexed pointer load of a constant, e.g.: y = ((unsigned char...
Steven Hugg [Thu, 14 Mar 2019 11:20:16 +0000 (07:20 -0400)]
added optimization for indexed pointer load of a constant, e.g.: y = ((unsigned char*)0x100)[i]

17 months agoFixed gcc compiler warning (#867)
Olli Savia [Sat, 30 Mar 2019 20:09:16 +0000 (22:09 +0200)]
Fixed gcc compiler warning (#867)

* Changed spelling FALLTHRU -> FALLTHROUGH

17 months agoRemoved a "cc65_" prefix.
greg-king5 [Sat, 30 Mar 2019 15:06:09 +0000 (11:06 -0400)]
Removed a "cc65_" prefix.

This change is needed because of commit 3d8c3a494801e106e33fa7dcc4fd3daedad1b98a.

17 months agoAdded space after function name.
IrgendwerA8 [Fri, 29 Mar 2019 21:47:42 +0000 (22:47 +0100)]
Added space after function name.

17 months agoCode review adaptations, removed "cc65_" prefix from functions
IrgendwerA8 [Fri, 29 Mar 2019 21:36:01 +0000 (22:36 +0100)]
Code review adaptations, removed "cc65_" prefix from functions

17 months agoMoved documentation to funcref.
IrgendwerA8 [Thu, 21 Mar 2019 20:04:24 +0000 (21:04 +0100)]
Moved documentation to funcref.

17 months agoChanges due to code review.
IrgendwerA8 [Thu, 21 Mar 2019 19:43:07 +0000 (20:43 +0100)]
Changes due to code review.

17 months agoOptimized mul20 & mul40 and extracted to new library.
IrgendwerA8 [Thu, 21 Mar 2019 14:59:45 +0000 (15:59 +0100)]
Optimized mul20 & mul40 and extracted to new library.

18 months agoMerge pull request #863 from Compyx/master
greg-king5 [Mon, 25 Mar 2019 01:36:41 +0000 (21:36 -0400)]
Merge pull request #863 from Compyx/master

Removed trailing spaces from CBM-related asm files.

18 months agoRestore src/cc65/locals.c:278 to its orignal state 863/head
Bas Wassink [Sun, 24 Mar 2019 22:05:11 +0000 (23:05 +0100)]
Restore src/cc65/locals.c:278 to its orignal state

18 months agoForgot a cast, sorry
Bas Wassink [Sun, 24 Mar 2019 20:41:00 +0000 (21:41 +0100)]
Forgot a cast, sorry

18 months agoRevert accidentally committed changes for a future PR
Bas Wassink [Sun, 24 Mar 2019 20:15:34 +0000 (21:15 +0100)]
Revert accidentally committed changes for a future PR

18 months agoMerge https://github.com/cc65/cc65
Bas Wassink [Sun, 24 Mar 2019 19:49:53 +0000 (20:49 +0100)]
Merge https://github.com/cc65/cc65

Pull to fix extra changes in PR #863

18 months agoFixed LinuxDoc Tools issues in some verbatim blocks in the Atari document.
Greg King [Sun, 24 Mar 2019 18:39:04 +0000 (14:39 -0400)]
Fixed LinuxDoc Tools issues in some verbatim blocks in the Atari document.

18 months agoAdds address after JVB instruction in the display list example.
Daniel Serpell [Sat, 23 Mar 2019 15:19:25 +0000 (12:19 -0300)]
Adds address after JVB instruction in the display list example.

18 months agoFix 32/64-bit int/pointer casts
Bas Wassink [Sat, 23 Mar 2019 00:14:04 +0000 (01:14 +0100)]
Fix 32/64-bit int/pointer casts

18 months agoRemove trailings spaces from CBM-related asm files
Bas Wassink [Fri, 22 Mar 2019 21:54:05 +0000 (22:54 +0100)]
Remove trailings spaces from CBM-related asm files

18 months agoChanged enum for FP-register index. 855/head
IrgendwerA8 [Sat, 16 Mar 2019 19:37:42 +0000 (20:37 +0100)]
Changed enum for FP-register index.

18 months agoAtariOS: Fix for FPIDX enum
IrgendwerA8 [Wed, 13 Mar 2019 07:19:04 +0000 (08:19 +0100)]
AtariOS: Fix for FPIDX enum

18 months agoAdded a C header that translates from the source file's encoding to PetSCII.
Greg King [Mon, 11 Mar 2019 12:59:30 +0000 (08:59 -0400)]
Added a C header that translates from the source file's encoding to PetSCII.

It can be used to undo what "cbm_screen_charmap.h" does.  Together, those headers let you mix screen-code and PetSCII string and character literals in a C source file's Assembly output.

18 months agoMerge remote-tracking branch 'irgendwer/AtariOS_Structure' into master
Christian Groessler [Mon, 11 Mar 2019 11:23:09 +0000 (12:23 +0100)]
Merge remote-tracking branch 'irgendwer/AtariOS_Structure' into master

18 months agoCode review changes and improved formatting. 854/head
IrgendwerA8 [Sat, 9 Mar 2019 20:40:57 +0000 (21:40 +0100)]
Code review changes and improved formatting.

18 months agoAtari OS: Reestablished DCB structure, fixed union span and timer2.
IrgendwerA8 [Fri, 8 Mar 2019 10:48:37 +0000 (11:48 +0100)]
Atari OS: Reestablished DCB structure, fixed union span and timer2.

18 months agoRenamed a C header.
Greg King [Tue, 5 Mar 2019 21:18:20 +0000 (16:18 -0500)]
Renamed a C header.

All of Commodore's 8-bit computer models use the same screen-codes.

18 months agoFixed the CBM screen-code C header.
Greg King [Tue, 5 Mar 2019 20:52:00 +0000 (15:52 -0500)]
Fixed the CBM screen-code C header.

Changed the number literals from Assembly format to C format.  Swapped the (upper-/lower-case) mappings of letters because the header converts from ASCII, not PetSCII.

18 months agoMerge pull request #852 from IrgendwerA8/AtariOS_Structure
Christian Groessler [Tue, 5 Mar 2019 21:21:15 +0000 (22:21 +0100)]
Merge pull request #852 from IrgendwerA8/AtariOS_Structure

Access Atari OS variables by structure. seems good. Thanks!

18 months agoAdded missing pointer star for Basic structure. 852/head
IrgendwerA8 [Mon, 4 Mar 2019 23:26:14 +0000 (00:26 +0100)]
Added missing pointer star for Basic structure.

18 months agoCode review changes and build fix.
IrgendwerA8 [Mon, 4 Mar 2019 22:13:24 +0000 (23:13 +0100)]
Code review changes and build fix.

18 months agoRefactorred a CBM screen-code macro, so that we can use it as an operand.
Greg King [Mon, 4 Mar 2019 15:19:27 +0000 (10:19 -0500)]
Refactorred a CBM screen-code macro, so that we can use it as an operand.

For example: lda #scrbyte 'B'

18 months agoAccess Atari OS variables by structure.
IrgendwerA8 [Sun, 3 Mar 2019 21:50:57 +0000 (22:50 +0100)]
Access Atari OS variables by structure.

18 months agoMinor math optimizations
IrgendwerA8 [Thu, 28 Feb 2019 16:30:34 +0000 (17:30 +0100)]
Minor math optimizations

18 months agoMerge pull request #849 from polluks/patch-4
Oliver Schmidt [Thu, 28 Feb 2019 07:35:35 +0000 (08:35 +0100)]
Merge pull request #849 from polluks/patch-4

Update cbm510.sgml

18 months agoUpdate cbm510.sgml 849/head
Stefan [Tue, 26 Feb 2019 17:38:05 +0000 (18:38 +0100)]
Update cbm510.sgml

There is just one CIA but it's not called "CIA1"...

19 months agoMerge remote-tracking branch 'dmsc/xex-c' into upstream-master
Christian Groessler [Sat, 23 Feb 2019 00:14:54 +0000 (01:14 +0100)]
Merge remote-tracking branch 'dmsc/xex-c' into upstream-master

19 months agoChange XEX configuration file names to better reflect original names. 848/head
Daniel Serpell [Thu, 21 Feb 2019 21:55:08 +0000 (18:55 -0300)]
Change XEX configuration file names to better reflect original names.

Also, updates documentation with the new files.

19 months agoAdd sample linker configurations for Atari binary output in C.
Daniel Serpell [Mon, 18 Feb 2019 03:30:04 +0000 (00:30 -0300)]
Add sample linker configurations for Atari binary output in C.

19 months agoSeparate header and trailers of Atari system_check chunk.
Daniel Serpell [Mon, 18 Feb 2019 03:26:01 +0000 (00:26 -0300)]
Separate header and trailers of Atari system_check chunk.

This allows to omit the headers and trailers if needed.

19 months agoDon't write INITAD if the memory area is empty.
Daniel Serpell [Mon, 18 Feb 2019 12:28:00 +0000 (09:28 -0300)]
Don't write INITAD if the memory area is empty.

19 months agoAdd support for INITAD to the Atari binary format.
Daniel Serpell [Mon, 18 Feb 2019 03:24:52 +0000 (00:24 -0300)]
Add support for INITAD to the Atari binary format.

19 months agoun-remove TABs in doc/using-make.sgml
Christian Groessler [Thu, 21 Feb 2019 12:45:51 +0000 (13:45 +0100)]
un-remove TABs in doc/using-make.sgml

19 months agoMove Atari-specific PIA reg vals to atari.h
Bill Kendrick [Sat, 16 Feb 2019 08:25:25 +0000 (00:25 -0800)]
Move Atari-specific PIA reg vals to atari.h

PIA is also used in the Commodore PET, and for different
purposes (see http://www.6502.org/users/andre/petindex/progmod.html#pia1),
so extracted Atari-specific register #defines and placed them in atari.h.

19 months agoremote TABs in doc/ and test/
Christian Groessler [Tue, 12 Feb 2019 21:50:49 +0000 (22:50 +0100)]
remote TABs in doc/ and test/

19 months agoMerge pull request #834 from jedeoric/master
Oliver Schmidt [Tue, 12 Feb 2019 16:51:24 +0000 (17:51 +0100)]
Merge pull request #834 from jedeoric/master

Update telestrat target doc, add tgi_clear support for telestrat target, stratsed & telemon 2.4 vars added

19 months agoAdd translation from PETSCII to screen codes.
Oliver Schmidt [Tue, 12 Feb 2019 16:47:17 +0000 (17:47 +0100)]
Add translation from PETSCII to screen codes.

19 months agoFixed 65C02 timing again.
Stefan [Tue, 12 Feb 2019 10:27:12 +0000 (11:27 +0100)]
Fixed 65C02 timing again.

19 months agoMerge pull request #843 from polluks/patch-4
Oliver Schmidt [Thu, 7 Feb 2019 11:29:00 +0000 (12:29 +0100)]
Merge pull request #843 from polluks/patch-4

Fixed 65C02 timing.

19 months agoFixed 65C02 timing. 843/head
Stefan [Thu, 7 Feb 2019 11:19:49 +0000 (12:19 +0100)]
Fixed 65C02 timing.

19 months agoremove TABs
Christian Groessler [Tue, 5 Feb 2019 22:27:52 +0000 (23:27 +0100)]
remove TABs

19 months agoFix typo 834/head
jede [Mon, 4 Feb 2019 19:42:03 +0000 (20:42 +0100)]
Fix typo

19 months agoAdds test code for the Atari (xex) linker file format. 762/head
Daniel Serpell [Sun, 2 Dec 2018 03:41:36 +0000 (00:41 -0300)]
Adds test code for the Atari (xex) linker file format.

19 months agoAdds documentation and a sample config file for the ATARI format.
Daniel Serpell [Sun, 2 Dec 2018 00:45:22 +0000 (21:45 -0300)]
Adds documentation and a sample config file for the ATARI format.

19 months agoRewrites ATARI EXE segment writing to optimally write segment sizes.
Daniel Serpell [Thu, 27 Sep 2018 03:06:52 +0000 (00:06 -0300)]
Rewrites ATARI EXE segment writing to optimally write segment sizes.

We now expand segments as needed to write a minimal set of headers.

19 months agoDon't support overwrite segments.
Daniel Serpell [Wed, 26 Sep 2018 02:51:51 +0000 (23:51 -0300)]
Don't support overwrite segments.

This simplifies the memory area size calculations.