cc65
3 years 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.

3 years 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

3 years 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

3 years 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

3 years 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.

3 years 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

3 years 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...

3 years 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.

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

3 years 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

3 years 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.

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

3 years 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

3 years 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

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

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

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

3 years 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.

3 years 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

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

3 years 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

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

3 years 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

3 years 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.

3 years 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

3 years 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

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

3 years 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

3 years 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.

3 years 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()

3 years 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

3 years 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

3 years 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.

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

3 years 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)

3 years 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.

3 years 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

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

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

3 years 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.

3 years 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.

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

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

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

3 years 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]

3 years 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

3 years 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])

3 years 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]

3 years 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

3 years 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.

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

3 years 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

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

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

3 years 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.

3 years 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.

3 years 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

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

3 years 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

3 years 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

3 years 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.

3 years 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.

3 years 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

3 years 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

3 years 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.

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

3 years 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.

3 years 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

3 years 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.

3 years 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.

3 years 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.

3 years 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.

3 years 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!

3 years 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.

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

3 years 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'

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

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

3 years 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

3 years 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"...

3 years 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

3 years 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.

3 years 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.

3 years 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.

3 years 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.

3 years 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.

3 years 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

3 years 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.

3 years 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/

3 years 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

3 years 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.

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

3 years 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.

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

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

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

3 years 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.

3 years 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.

3 years 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.

3 years 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.